【网络原理】——图解HTTPS如何加密(通俗简单易懂)
阿华代码,不是逆风,就是我疯
你们的点赞收藏是我前进最大的动力!!
希望本文内容能够帮助到你!!
目录
一: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] 📱…...
【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 比如只想查询名字中带‘张’的,其他的都不进行条件筛查 会发现什么也查询不出来 我们希望SQL语句能够根据我们所输入的查询值进行动态的变化,就需要使用到动态SQL。动态SQL中有很多标签,其中用于条件判断的就是标签<if>。…...
gb28181-sip注册流程
gb28181-sip注册流程 当客户端第一次接入时,客户端将持续向Server端发送REGISTER消息,直到Server端回复"200 OK"后结束 它的注册流程如下图: 注册流程: 1 . SIP代理向SIP服务器发送Register请求: 第1行表…...
WEBRTC教程:局域网怎么调试,http://172.19.18.101:8080 ,无法访问摄像头和麦克风,请检查权限
在局域网中使用 WebRTC 时,无法访问摄像头和麦克风通常是因为浏览器的安全策略限制了 getUserMedia API 的使用。如果你在非 localhost 或非 HTTPS 环境下访问网页,浏览器会阻止访问摄像头和麦克风。 解决方案 在局域网中调试 WebRTC 时,你…...
Apache POI—读写Office格式文件
Apache POI 是一个开源的 Java 库,用于读写 Microsoft Office 格式的文件,主要包括 Excel、Word 和 PowerPoint 等文档。POI 对 Excel 文件的支持最为完善,通过 POI 可以方便地进行 Excel 文件的创建、编辑、读取等操作。 1. Apache POI 简介…...
DownKyi:B站视频下载工具的全方位技术解析与应用指南
DownKyi:B站视频下载工具的全方位技术解析与应用指南 【免费下载链接】downkyi 哔哩下载姬downkyi,哔哩哔哩网站视频下载工具,支持批量下载,支持8K、HDR、杜比视界,提供工具箱(音视频提取、去水印等&#x…...
【开源鸿蒙Flutter跨平台开发实战复盘】从零到一:GitCode口袋工具项目构建全记录
1. 环境搭建:从零开始的跨平台开发之旅 作为一个有Android开发背景但完全没接触过Flutter的开发者,我最初面对开源鸿蒙和Flutter跨平台开发时也是一头雾水。环境搭建这个看似简单的第一步,就让我深刻体会到"万事开头难"的含义。 在…...
避坑指南:HuggingFace本地数据集加载常见的5个报错及解决方法
HuggingFace本地数据集加载实战:5类典型报错深度解析与解决方案 当你第一次尝试将本地数据集加载到HuggingFace生态系统中时,可能会遇到各种令人困惑的错误信息。这些报错往往隐藏着数据格式、特征定义或路径处理等关键问题。本文将剖析开发者最常遇到的…...
ofa_image-caption生产环境部署:支持批量图片处理与结果导出的企业方案
ofa_image-caption生产环境部署:支持批量图片处理与结果导出的企业方案 1. 项目背景与核心价值 在实际的企业应用中,图像内容理解已经成为许多业务场景的必备能力。无论是电商平台的商品图片描述生成,还是内容平台的海量图片标注࿰…...
Agent Skill 从使用到原理,一次讲清
目录前言1. 本期内容概览2. Agent Skill 是什么3. Agent Skill 的基本用法4. 高级用法(Reference)5. 高级用法(Script)6. 渐进式披露机制7. Agent Skill vs MCP结语参考前言 学习 UP 主 马克的技术工作坊 的 Agent Skill 从使用到…...
拒了一个只要1.8万的45岁大佬
因公众号更改推送规则,请点“在看”并加“星标”第一时间获取精彩技术分享点击关注#互联网架构师公众号,领取架构师全套资料 都在这里0、2T架构师学习资料干货分上一篇:2T架构师学习资料干货分享大家好,我是互联网架构师ÿ…...
基于ZLMediaKit API的Java流媒体服务实战:从配置到核心功能封装
1. ZLMediaKit快速入门与环境搭建 第一次接触ZLMediaKit时,我被它的轻量级和高性能所吸引。作为一款开源的流媒体服务器,它支持RTSP、RTMP、HLS等多种协议,特别适合中小型视频项目的快速部署。记得当时为了测试性能,我在一台2核4G…...
三步掌握EdgeRemover:Windows系统Edge浏览器专业卸载方案
三步掌握EdgeRemover:Windows系统Edge浏览器专业卸载方案 【免费下载链接】EdgeRemover PowerShell script to remove Microsoft Edge in a non-forceful manner. 项目地址: https://gitcode.com/gh_mirrors/ed/EdgeRemover 还在为Windows系统中Microsoft Ed…...
AI性能测试:TPS之外还要关注什么?
在AI驱动的时代,性能测试已成为软件测试从业者的核心技能。传统软件测试中,TPS(Transactions Per Second,每秒事务处理量)常被视为黄金指标,用于衡量系统的吞吐能力。然而,AI系统因其独特的计算…...
缺失的第一个正数(力扣100)
最朴素的想法就是从1开始查找,看看谁不在,时间复杂度为On但是需要把原数组变成集合,空间复杂度为On不符合题目的常数级空间开销我们要找的是“第一个缺失的正数”。如果数组长度是 $N$,那么这个答案一定落在 [1, N1] 这个区间里。…...

