HTTPS的传输过程

2023-09-15 20:32:19

加密分为两种方式一种是对称加密,一种是非对称加密。

在对称加密算法中,加密和解密使用的密钥是相同的。也就是说,加密和解密使用的是同一个密钥。因此,对称加密算法要保证安全性的话,密钥要做好保密。只能让使用的人知道,不能对外公开。

在非对称加密算法中,加密使用的密钥和解密使用的密钥是不相同的。一把是作为公开的公钥,另一把是作为谁都不能给的私钥。公钥加密的信息,只有私钥才能解密。私钥加密的信息,只有公钥才能解密。

因为对称加密算法相比非对称加密算法来说,效率要高得多,性能也好,所以交互的场景下多用对称加密。

证书里面有什么呢?当然应该有公钥,这是最重要的;还有证书的所有者,就像户口本上有你的姓名和身份证号,说明这个户口本是你的;另外还有证书的发布机构和证书的有效期,这个有点像身份证上的机构是哪个区公安局,有效期到多少年。

公钥私钥主要用于传输对称加密的秘钥,而真正的双方大数据量的通信都是通过对称加密进行的。这就是 HTTPS 协议的总体思路。

此文章为9月Day15学习笔记,内容来源于极客时间《趣谈网络协议》,推荐该课程。

更多推荐

蓝蓝设计提供气象行业软件设计

北京蓝蓝设计在气象行业软件界面设计方面具有成功的案例和丰富的经验。蓝蓝与多家气象行业软件开发商合作,为其设计了一系列优秀的界面,得到了客户的高度认可和好评。我们的设计作品不仅满足了客户的需求,还提升了软件的品牌形象和竞争力。北京蓝蓝设计还致力于学习和应用最新的设计技术和工具。我们紧跟行业发展的脚步,不断更新自己的设计理

JMeter 设置请求头信息的详细步骤

在使用JMeter的过程中,我们会遇到需要设置请求头信息的场景。比如:POST传过去的Body数据是json格式的。需要填添加头信息:Content-Type:application/json。在header中用token来传用户的认证信息。下面,来具体介绍下JMeter设置HTTP请求头的方法。1添加请求头右击HTT

Jmeter系列-并发线程Concurrency Thread Group的介绍(7)

简介ConcurrencyThreadGroup提供了用于配置多个线程计划的简化方法,该线程组目的是为了保持并发水平,意味着如果并发线程不够,则在运行线程中启动额外的线程ConcurrencyThreadGroup提供了更好的用户行为模拟,因为它使您可以更轻松地控制测试的时间,并创建替换线程以防线程在过程中完成现在安装

Jmeter系列-控制器Controllers的介绍(8)

Controllers简介JMeter是一款功能强大的性能测试工具,而控制器是JMeter中非常重要的一个组件。控制器用于控制测试计划的执行流程,可以根据需求来控制线程的启动、停止、循环等操作。Jmeter有两种类型的控制器:Samplers(取样器)和LogicalControllers(逻辑控制器);它们驱动着测试

Jmeter —— 常用的几种断言方法(基本用法)

在使用JMeter进行性能测试或者接口自动化测试工作中,经常会用到的一个功能,就是断言,断言相当于检查点,它是用来判断系统返回的响应结果是否正确,以此帮我们判断测试是否通过,本文主要介绍几种常用的断言:响应断言、JSON断言、BeanShell断言一、响应断言1.响应断言是最常用的一种断言方法,它可以对各种返回类型的结

四、数学建模之图与网络模型

1.定义2.例题及软件代码求解一、定义1.图和网络是相关概念(1)图(Graph):图是数学和计算机科学中的一个抽象概念,它由一组节点(顶点)和连接这些节点的边组成。图可以是有向的(有方向的,边有箭头表示方向)或无向的(没有方向的,边没有箭头表示方向)。图用于表示各种关系,如社交网络、电路、地图、组织结构等。(2)网络

leetcode做题笔记147. 对链表进行插入排序

给定单个链表的头head,使用插入排序对链表进行排序,并返回排序后链表的头。插入排序算法的步骤:插入排序是迭代的,每次只移动一个元素,直到所有元素可以形成一个有序的输出列表。每次迭代中,插入排序只从输入数据中移除一个待排序的元素,找到它在序列中适当的位置,并将其插入。重复直到所有输入数据插入完为止。下面是插入排序算法的

免费可源可商用的BI工具对比(支持Doris 数据库)

目前市面上有很多开源的BI工具可供选择,以下是几个免费、开源且可以商用的BI工具,并且支持和Doris数据库结合使用:Superset:由Airbnb发起的开源BI工具,带有可视化和交互式仪表盘功能。Superset支持多种数据源,其中包括Doris数据库。Metabase:一个简单易用的BI工具,支持数据可视化和SQ

全链路自动化测试

背景从SOA架构到现在大行其道的微服务架构,系统越拆越小,整体架构的复杂度也是直线上升,我们一直老生常谈的微服务架构下的技术难点及解决方案也日渐成熟(包括典型的数据一致性,系统调用带来的一致性问题,还是跨节点跨机房复制带来的一致性问题都有了很多解决方案),但是有一个环节我们明显忽略了。在现在的微服务架构趋势下,微服务在

陆拾捌- 如何通过数据影响决策(三)

一、如何正确的引导别人?引导与误导的区别是什么?看下面这广告图单看上面大字的结果,感觉好像真的使用过的人均觉得有好处可如果我们看下面的细字对111位连续14天食用(本产品)的燕麦片非重度使用者所做调研…从理性上来说,如果一个人觉得没用处,还会连续食用14天吗?所以这里用的一个技巧就是,从数据中各个维度深挖,然后把最有利

【C# 基础精讲】构造函数和析构函数

构造函数(Constructor)和析构函数(Destructor)是面向对象编程中的两个重要概念,它们分别用于在对象创建和销毁的时候执行特定的操作。这两个函数在C#以及其他面向对象编程语言中都具有重要的作用,用于初始化对象的状态、分配资源,以及在对象被销毁时释放资源。在本文中,我们将详细探讨构造函数和析构函数的概念、

热文推荐