当前位置: 首页 > news >正文

【网络原理】——图解HTTPS如何加密(通俗简单易懂)

 8e19eee2be5648b78d93fbff2488137b.png

阿华代码,不是逆风,就是我疯

你们的点赞收藏是我前进最大的动力!!

希望本文内容能够帮助到你!!

目录

一:HTTP为什么不安全

二:HTTPS加密过程

1:密码学中的概念

(1)明文

(2)密文

(3)密钥

(4)对称加密

(5)非对称加密

(6)公钥和私钥

2:HTTPS工作过程

(1)引入对称加密

(2)非对称加密

(3)证书加密


一:HTTP为什么不安全

在介绍HTTP的那一篇文章中我们提了一嘴,HTTP是明文传输,不安全的。HTTPS在HTTP的基础上,引入了一个加密层(SSL)来保证安全性——防运营商劫持篡改Referer~(可以参考这篇文章)

【网络原理】——HTTP请求头中的属性-CSDN博客

比如我们想要下载一个音乐播放器,点击了下载,蹦出来的并不是这个音乐播放器的下载链接,而变成另一个的了,很常见的挂羊头卖狗肉~

二:HTTPS加密过程

1:密码学中的概念

(1)明文

传输的真实的数据,表达的实际意思

(2)密文

给明文经过加密之后得到的结果就是密文,不直观,不易理解

(3)密钥

可以理解成对照表,比如我们将字符A设置成明文,我给字符A按照ASCII码值进行加密,我们通过ASCII码值表对照,知道了密文97所代表就是A.

(4)对称加密

加密和解密使用的同一个密钥,我们举个简单的例子哈,看下面的图(这种感觉,我称之为偷感)

(5)非对称加密

加密和解密使用的是两个密钥,比如K1密钥和K2密钥,这两者成对的,

使用K1来加密,此时就是K2来解密;使用K2来加密,此时就是K1来解密

(6)公钥和私钥

公开出去,大家都知道的叫做公钥;私自保留的,只有自己知道的叫私钥

2:HTTPS工作过程

由引入我们知道,运营商劫持的根本原因在于“明文传输”,于是我们也提出了好几种加密对策,主要针对header和body进行加密

(1)引入对称加密

通过对称加密的方式,针对传输的数据进行加密操作

关键点:

①对称加密,客户端和服务器使用的是同一个密钥

②不同的客户端,需要使用不同的密钥

③TCP建立连接后,在进行SSL握手(交换/传输密钥),最后才是加密传输

注:每个客户端连接到服务器的时候,都要自己生成一个随机密钥,在传输告知给服务器(服务器也可以生成,调换一下角色,关键在于密钥的传输),如果黑客入侵路由器拿到了这个密钥,意味着加密操作就没有意义了。

解决方式:对咱们得密钥也进行加密

(2)非对称加密

主要目的就是为了对“对称密钥”进行加密,确保密钥的安全性

关键点:

①传输问题上,可以让服务器生成公钥和私钥,把公钥传输给客户端,自己手持私钥

②非对称加密消耗CPU的资源远远高于对称加密,所以不能大规模使用

③黑客入侵不了的根本原因:不能对公钥进行解密

注:可以理解成——我持有信箱和和钥匙(私钥),邮递员持有信箱的锁(公钥)

(3)证书加密

问题引入:中间人攻击

上述非对称加密任然有问题——服务器可以生成一对公钥和密钥,那么黑客也可以模仿生成一对假的公钥和秘钥进行冒充

这里我们设置对称秘钥为key,非对称秘钥中公钥为pub私钥为pri

解决方式:引入证书

问题关键就是,客户端在拿到公钥的时候,有办法验证这个公钥是真的,不是冒充的

证书:是一个结构化的数据(里面包含很多数据,比如:服务器的主域名、公钥、证书的有效期,以字符串的形式呈现),需要服务器从第三方公正机构进行申请

注意:

①证书的信息是基于字符串提供,便于后面我们使用算法进行计算

②证书的私钥只有公正机构有,如果黑客用公钥解密证书,并用自己的私钥加密签名,客户端会解密失败,所以黑客无法重新生成加密的签名。

③私钥对应解密的公钥系统电脑自带就有

④校验和是对证书中的字段用(CRC,MD5等)算法得到一个较短的字符串

⑤客户端拿到证书做两件事:对证书签名解密得到校验和1,对证书的字段进行计算得到校验和2,再比较两者

相关文章:

【网络原理】——图解HTTPS如何加密(通俗简单易懂)

阿华代码,不是逆风,就是我疯 你们的点赞收藏是我前进最大的动力!! 希望本文内容能够帮助到你!! 目录 一:HTTP为什么不安全 二:HTTPS加密过程 1:密码学中的概念 &…...

CentOS 修改服务器登录密码的完整指南

个人名片 🎓作者简介:java领域优质创作者 🌐个人主页:码农阿豪 📞工作室:新空间代码工作室(提供各种软件服务) 💌个人邮箱:[2435024119qq.com] &#x1f4f1…...

【PnP】详细公式推导,使用DLT直接线性变换法求解相机外参

文章目录 🚀PnP1️⃣ 求解不考虑尺度的解2️⃣ 恢复解的尺度3️⃣ 另一种解法 🚀PnP PnP(Perspective-n-Point)是求解3D到2D点相机外参的算法。PnP算法有DLT直接线性变换、P3P三对点估计位姿、EPnP(Efficient PnP)、BA(Bundle Adjustment)光速法平差。这…...

怎样把书上的事件图改编成活动图-《分析模式》漫谈43

DDD领域驱动设计批评文集 做强化自测题获得“软件方法建模师”称号 《软件方法》各章合集 《分析模式》中模型图的UML改编,之前也有人做过,Martin Fowler网站上给出了部分改编成果。 这些改编成果只覆盖了部分章节,而且只是把类型图&#…...

CodeFormer——基于代码本查找变换器的鲁棒盲人脸修复翻译

文章目录 原文翻译摘要1 Introduction2 Related Work3 Methodology3.1 Codebook Learning (Stage I)3.2 Codebook Lookup Transformer Learning (Stage II)3.3 Controllable Feature Transformation (Stage III) 4 Experiments4.1 Datasets4.2 Experimental Settings and Metri…...

监控场景下,视频SDK的应用策略

在当今数字化、智能化的时代背景下,音视频技术的快速发展正深刻改变着各行各业。特别是在监控领域,音视频SDK的应用不仅极大地提升了监控系统的性能与效率,还推动了监控技术的智能化转型。 一、音视频SDK 音视频SDK是一套集成了音视频编解码…...

前端面试必备!HTML 超实用考点全解析

在前端开发的广阔领域中,面试是检验开发者能力的关键环节。而 HTML 作为前端开发的基础,在面试中常常占据重要地位。无论是初入前端领域的新人,还是经验丰富的开发者,都可能在 HTML 的相关问题上遭遇挑战。今天,就让我…...

自动驾驶系统研发系列—避免事故的利器:AEB自动紧急制动系统详解

🌟🌟 欢迎来到我的技术小筑,一个专为技术探索者打造的交流空间。在这里,我们不仅分享代码的智慧,还探讨技术的深度与广度。无论您是资深开发者还是技术新手,这里都有一片属于您的天空。让我们在知识的海洋中一起航行,共同成长,探索技术的无限可能。 🚀 探索专栏:学…...

zabbix 6.0 监控clickhouse(单机)

zabbix 6.0 LTS已经包含了clickhouse的监控模板,所以我们可以直接使用自带的模板来监控clickhouse了。 0.前置条件 clickhouse 已经安装,我安装的是24.3.5.47zabbix-agent 已经安装并配置。系统是ubuntu 2204 server 1. 新建监控用户 使用xml的方式为…...

Redis的RDB执行原理

文章目录 引入‘页表’的概念Copy-On-WriteRDB快照 引入‘页表’的概念 Linux里面每个进程都是无法直接操作物理内存的,每个进程只能用页表映射本进程的虚拟内存到物理内存的映射。 bgsave的时候,主进程会fork(复制)一个子进程&am…...

速度背!24下软考网工“经典100道母题来了”!

2024下软考已经迫在眉睫了,准备考下半年软考多媒体应用设计师的小伙伴们准备得怎么样了? 单单只啃书肯定不太够,今天给大家整理了多媒体100道经典题, 这些都是历年高频考点整理,包含24下软考80%以上考点,跟…...

three.js 纹理(Texture)、深度纹理(DepthTexture)、视频纹理(VideoTexture)

纹理(Texture) 创建一个纹理贴图,将其应用到一个表面,或者作为反射/折射贴图。 构造函数 Texture( image, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy, encoding ) // load a texture, set wrap…...

广东自闭症全托机构:提供高质量的康复服务

在广东这片充满活力的土地上,自闭症儿童的康复需求日益受到社会各界的关注。在众多自闭症全托机构中,位于广州的星贝育园自闭症儿童寄宿制学校以其专业的团队、全面的服务体系以及显著的康复成效,成为了众多家庭的信赖之选。 星贝育园&#…...

Nodejs安装配置及创建vue项目

文章目录 Node简介Node官网安装node.js验证是否安装成功 npm简介配置node远程拉取仓库安装cnpm(国内插件管理命令)npm相关参数解读 vue简介创建vue项目 Node 简介 Node.js 是一个免费、开源、跨平台的 JavaScript 运行时环境,它让开发人员能…...

浅析正交投影矩阵和透视投影矩阵的推导

先上矩阵的内容。在opengl中,分别通过glOrtho函数和glFrustum函数得到正交投影矩阵和透视投影矩阵。 glOrtho 函数描述生成正交投影矩阵。 (左、 下、 近) 和 (右、 上、 近) 参数分别指定近剪裁平面上映射到窗口左下角和右上角的点,假定眼睛位于 (0、0…...

python四舍五入保留两位小数不足补0

在 Python 中,当你想要对数字进行四舍五入并保留两位小数,同时确保当小数位数不足两位时能够补零,你可以继续使用 round() 函数进行四舍五入,然后在格式化输出时使用字符串格式化方法来确保小数位数。 round() 函数本身只会返回四…...

Mybatis-15.动态SQL-if

一.动态SQL 比如只想查询名字中带‘张’的&#xff0c;其他的都不进行条件筛查 会发现什么也查询不出来 我们希望SQL语句能够根据我们所输入的查询值进行动态的变化&#xff0c;就需要使用到动态SQL。动态SQL中有很多标签&#xff0c;其中用于条件判断的就是标签<if>。…...

gb28181-sip注册流程

gb28181-sip注册流程 当客户端第一次接入时&#xff0c;客户端将持续向Server端发送REGISTER消息&#xff0c;直到Server端回复"200 OK"后结束 它的注册流程如下图&#xff1a; 注册流程&#xff1a; 1 . SIP代理向SIP服务器发送Register请求&#xff1a; 第1行表…...

WEBRTC教程:局域网怎么调试,http://172.19.18.101:8080 ,无法访问摄像头和麦克风,请检查权限

在局域网中使用 WebRTC 时&#xff0c;无法访问摄像头和麦克风通常是因为浏览器的安全策略限制了 getUserMedia API 的使用。如果你在非 localhost 或非 HTTPS 环境下访问网页&#xff0c;浏览器会阻止访问摄像头和麦克风。 解决方案 在局域网中调试 WebRTC 时&#xff0c;你…...

Apache POI—读写Office格式文件

Apache POI 是一个开源的 Java 库&#xff0c;用于读写 Microsoft Office 格式的文件&#xff0c;主要包括 Excel、Word 和 PowerPoint 等文档。POI 对 Excel 文件的支持最为完善&#xff0c;通过 POI 可以方便地进行 Excel 文件的创建、编辑、读取等操作。 1. Apache POI 简介…...

RestClient

什么是RestClient RestClient 是 Elasticsearch 官方提供的 Java 低级 REST 客户端&#xff0c;它允许HTTP与Elasticsearch 集群通信&#xff0c;而无需处理 JSON 序列化/反序列化等底层细节。它是 Elasticsearch Java API 客户端的基础。 RestClient 主要特点 轻量级&#xff…...

多模态商品数据接口:融合图像、语音与文字的下一代商品详情体验

一、多模态商品数据接口的技术架构 &#xff08;一&#xff09;多模态数据融合引擎 跨模态语义对齐 通过Transformer架构实现图像、语音、文字的语义关联。例如&#xff0c;当用户上传一张“蓝色连衣裙”的图片时&#xff0c;接口可自动提取图像中的颜色&#xff08;RGB值&…...

EtherNet/IP转DeviceNet协议网关详解

一&#xff0c;设备主要功能 疆鸿智能JH-DVN-EIP本产品是自主研发的一款EtherNet/IP从站功能的通讯网关。该产品主要功能是连接DeviceNet总线和EtherNet/IP网络&#xff0c;本网关连接到EtherNet/IP总线中做为从站使用&#xff0c;连接到DeviceNet总线中做为从站使用。 在自动…...

SiFli 52把Imagie图片,Font字体资源放在指定位置,编译成指定img.bin和font.bin的问题

分区配置 (ptab.json) img 属性介绍&#xff1a; img 属性指定分区存放的 image 名称&#xff0c;指定的 image 名称必须是当前工程生成的 binary 。 如果 binary 有多个文件&#xff0c;则以 proj_name:binary_name 格式指定文件名&#xff0c; proj_name 为工程 名&…...

【Go语言基础【12】】指针:声明、取地址、解引用

文章目录 零、概述&#xff1a;指针 vs. 引用&#xff08;类比其他语言&#xff09;一、指针基础概念二、指针声明与初始化三、指针操作符1. &&#xff1a;取地址&#xff08;拿到内存地址&#xff09;2. *&#xff1a;解引用&#xff08;拿到值&#xff09; 四、空指针&am…...

免费PDF转图片工具

免费PDF转图片工具 一款简单易用的PDF转图片工具&#xff0c;可以将PDF文件快速转换为高质量PNG图片。无需安装复杂的软件&#xff0c;也不需要在线上传文件&#xff0c;保护您的隐私。 工具截图 主要特点 &#x1f680; 快速转换&#xff1a;本地转换&#xff0c;无需等待上…...

深度学习水论文:mamba+图像增强

&#x1f9c0;当前视觉领域对高效长序列建模需求激增&#xff0c;对Mamba图像增强这方向的研究自然也逐渐火热。原因在于其高效长程建模&#xff0c;以及动态计算优势&#xff0c;在图像质量提升和细节恢复方面有难以替代的作用。 &#x1f9c0;因此短时间内&#xff0c;就有不…...

C语言中提供的第三方库之哈希表实现

一. 简介 前面一篇文章简单学习了C语言中第三方库&#xff08;uthash库&#xff09;提供对哈希表的操作&#xff0c;文章如下&#xff1a; C语言中提供的第三方库uthash常用接口-CSDN博客 本文简单学习一下第三方库 uthash库对哈希表的操作。 二. uthash库哈希表操作示例 u…...

在RK3588上搭建ROS1环境:创建节点与数据可视化实战指南

在RK3588上搭建ROS1环境:创建节点与数据可视化实战指南 背景介绍完整操作步骤1. 创建Docker容器环境2. 验证GUI显示功能3. 安装ROS Noetic4. 配置环境变量5. 创建ROS节点(小球运动模拟)6. 配置RVIZ默认视图7. 创建启动脚本8. 运行可视化系统效果展示与交互技术解析ROS节点通…...

Python的__call__ 方法

在 Python 中&#xff0c;__call__ 是一个特殊的魔术方法&#xff08;magic method&#xff09;&#xff0c;它允许一个类的实例像函数一样被调用。当你在一个对象后面加上 () 并执行时&#xff08;例如 obj()&#xff09;&#xff0c;Python 会自动调用该对象的 __call__ 方法…...