https:原理

目录

1.数据的加密

1.1对称加密

1.2非对称加密

2.数据指纹

2.1数据指纹实际的应用

3.数据加密的方式

3.1只使用对称加密

3.2只使用非对称加密

3.3双方都使用对称加密

3.4非对称加密和对称加密一起使用

4.中间人攻击

5.CA证书

5.1什么是CA证书

CA证书的验证

6.https的原理


1.数据的加密

什么是加密?什么是解密?

加密就是将明文通过密钥加密变成密文。

解密就是通过密钥将密文解密变成明文

1.1对称加密

对称加密就是加密和解密都是用的同一份密钥。

特点:计算速度快,计算量小,加密效率高,算法公开。

1.2非对称加密

        非对称加密就是使用两个密钥公钥(公开的密钥)和私钥(不公开的密钥),可以一个用来加密,另一个密钥进行解密。

        可以通过公钥加密变成密文,用私钥解密变成明文。也可以反着用。

特点:算法复杂,加密速度慢。

2.数据指纹

        数据指纹或者叫数据摘要,对数据进行唯一的标识,假如有一段文本数据,通过哈希算法将这段文本数据进行映射成一个 定长的字符串,这个字符串就是这段文本数据的“指纹”,也就是说如果这段文章被人修改了,哈希算法映射的字符串会发生很大的改变,就可以知道这段文章是否被人修改过。

2.1数据指纹实际的应用

百度网盘的秒传机制

        我们向百度网盘传输数据的时候,首先会在自己的电脑上,使用哈希算法映射出一个唯一的数据指纹,百度网盘回拿着生成数据指纹去搜索,如果搜索到了,说明已经有其他用户上传过这个数据了,你想要上传的这个数据在百度网盘的服务器中已经存在了,也就不需要重复上传了。

3.数据加密的方式

3.1只使用对称加密

这时候问题就出现了,客户端向服务器发送了一个密文数据,但是服务器并不知道密钥啊,无法对密文进行解析,所以这种方式是一定不行的。

3.2只使用非对称加密

 

看似客户端向服务器发送数据是安全的,实则不然。

每次加请求都是用非对称加密会很慢的。

3.3双方都使用对称加密

看似客户端和服务器发送数据都是安全的,实则不然。

只有一方使用对称加密都够慢的了,更别说双发都用了,直接淘汰。

3.4非对称加密和对称加密一起使用

这种方式看似又安全又快,实则不然。

4.中间人攻击

上面四种方法到底不安全到哪里呢?

       直接将看似最完美的非对称和对称加密一起用的方式推翻,其他的方式也自然不攻自破了。

首先毋庸置疑,数据传输的过程中都要进行数据的路由与转发,问题就出现在这里。

中间人攻击的核心就是,服务器第一次返回的公钥进行偷梁换柱。

5.CA证书

5.1什么是CA证书

        中间人攻击最主要的就是没有办法去甄别客户端收到的公钥是否是被篡改过了,解决了这个问题,自然就解决了中间人攻击。https引入了CA证书解决去解决这个问题,CA证书是需要去CA认证的机构去申请的。

申请的时候需要提供公司的信息,网站的域名,申请人,最重要的服务器的公钥。

 CA证书主要构成,一段明文数据 + 签名(对数据指纹进行加密)。

签名:就是对这段明文数据描述的数据指纹进行了加密。
加密是用的是CA机构的私钥加密。

CA证书的验证

如果中间人对公钥进行了修改,数据指纹会对不上的。

如果对签名进行修改,那么AC公钥将无法解析,因为只有是AC机构私钥的加密,才能被浏览器进行解析。


6.https的原理

那么https的原理就很好理解的,我们在方案4的情况下,服务器向客户端返回的不是公钥而是,证书。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/24039.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Github项目管理之 其余分支同步main分支

文章目录 方法:通过 Pull Request 同步分支1. **创建一个从 main 到目标分支的 Pull Request**2. **合并 Pull Request** 注意事项总结 在 GitHub 网页上,你可以通过 Pull Request 的方式将一个分支(例如 main 分支)的修改同步到…

Aseprite绘画流程案例(5)——花盆

1.最终图片效果 参考素材来源于:手绘像素画第三课:像素画盆花示范(无参考图)_哔哩哔哩_bilibili 2.流程 1.新建画布40X27的画布,打开显示网格,背景色为白色 2.画出梯形的盆 3.给盆进行亮暗对比上色 4.添…

【模板】csdn markdown语法演示

这里写自定义目录标题 欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants 创建一个自定义列表如何创建一个…

【Python系列】PYTHONUNBUFFERED=1的作用

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

Adobe After Effects的动画制作

作者:余佳琪 目录 一、 前言 二、 可动骨骼的选择 三、 运动曲线的设置 四、 图层的选定与应用 五、 插件的应用(阴影,高光,特效) 六、 导出 一、 前言 在当今世界&#x…

可狱可囚的爬虫系列课程 14:10 秒钟编写一个 requests 爬虫

一、前言 当重复性的工作频繁发生时,各种奇奇怪怪提高效率的想法就开始萌芽了。当重复代码的模块化封装已经不能满足要求的时候,更高效的方式就被揭开了神秘的面纱。本文基于这样的想法,来和大家探讨如何 10 秒钟编写一个 requests 爬虫程序。…

QNX上如何抓tracelogger日志

背景 因QNX侧 QVM的分析CPU负载问题在android侧使用trace无法分析,故QNX侧的CPU负载问题需要用到tracelogger日志分析。 例如:使用hogs -l 42|grep qvm 中发现qvm的cpu负载 30%多 但是使用trace日志在Perfetto又查不到qvm信息,则需要抓取qn…

DeepSeek开源周 Day02:从DeepEP开源趋势重新审视大模型Infra

DeepEP 今天DeepSeek开源周第二天,开放了DeepEP仓库,属实看了下源码,和昨天FlashMLA一样,C权重(包括CUDA)还是占据了绝对部分,作为调包侠的我,看到之后望而却步,想看原理…

【Ambari】Ranger KMS

目录 一、Ranger KMS介绍 二、KMS基于Ranger插件安装 一、Ranger KMS介绍 Ranger KMS是把数据存储入后台数据库中。通过Ranger Admin可以集中化管理KMS服务。 Ranger KMS有三个优点 l Key management Ranger admin 提供了创建,更新,删除密钥的Web UI…

055 SpringCache

文章目录 缓存一致性Spring Cachepom.xmlapplication.ymlCubemallProductApplication.javaSpringCache改造三级分类MyCacheConfig.java缓存一致性 缓存一致性 锁 设置过期时间 读写锁 设置过期时间 Spring Cache 1.读模式 缓存穿透:查询一个null数据,…

神卓 S500 组网设备连接交换机的详细步骤

神卓 S500 组网设备连接交换机的详细步骤 神卓 S500 组网设备以其高效、灵活的解决方案,在异地监控组网中发挥着重要作用。本文将详细介绍神卓 S500 组网设备连接交换机的步骤,帮助您轻松实现网络的互联互通。 一、前期准备 确认设备型号与规格&#x…

图像处理案例06 OCR应用

OCR应用 1 OCR读取账单1.1 背景及思路1.2 代码 1 OCR读取账单 1.1 背景及思路 思路 目标是读取图片中账单的信息。首先要截取图片上的账单,考虑到账单并非都是整齐摆放,为了保持算法的通用性,通过透视变换对扣取的账单摆正,然后调…

2024最新版鸿蒙纯血原生应用开发教程文档丨学习ArkTS语言-基本语法

ArkTS是HarmonyOS的主要应用开发语言,在TypeScript基础上进行了扩展,保留了其基本风格,并通过增强静态检查和分析来提高程序的稳定性和性能。本教程将帮助开发者掌握ArkTS的核心功能、语法及最佳实践,以便高效地构建高性能移动应用…

【AIGC】使用Python实现科大讯飞语音服务ASR转录功能:完整指南

文章目录 讯飞ASR转写API完整指南1. 引言2. 讯飞ASR API介绍3. API参数说明3.1 认证参数3.2 上传参数3.3 查询结果参数3.4 orderResult 字段3.5 Lattice 字段3.6 json_1best 字段3.7 st 字段 4. Python代码实现4.1 生成签名4.2 上传音频文件4.3 获取转写结果4.4 解析转写结果 5…

微软开源神器OmniParser-v2.0本地部署教程

安装python环境 我这里是以前安装好的版本:python 3.11.5,这里不再介绍,有需要的可以在网上找教程。 安装Anaconda 我这里是以前安装好的版本:conda 23.7.4,这里也不再介绍,有需要的可以在网上找教程。 …

LLM+多智能体协作:基于CrewAI与DeepSeek的邮件自动化实践

文章目录 引言理解 Flows(工作流)与 Crews(协作组)一、环境准备与工具安装1.1 Python环境搭建1.2 创建并激活虚拟环境1.3 安装核心依赖库(crewai、litellm) 二、本地DeepSeek R1大模型部署2.1 Ollama框架安…

Linux——高级IO

一、前言概念 IO拷贝等待 1. 同步(Synchronous) vs 异步(Asynchronous) 核心区别:关注的是消息通知的机制。 同步:调用方主动等待结果,需持续检查任务是否完成。 异步:调用方发起…

Linux:基础IO

文章目录 一、理解"文件"1、狭义上的理解2、广义上的理解3、文件操作的认知4、系统角度 二、C语言文件接口1、ls /proc/[进程id] -l 命令查看当前正在运⾏进程的信息2、stdin 和 stdout 和 stderr 三、系统文件 I/O1、标志位传递的一种方法2、系统调用 open 三、文件…

zabbix数据采集以及自定义监控

目录 1.数据采集 2.自定义监控 2.1客户端 2.2服务端 ​​​​​​​1.数据采集 点击最新数据页面如下图 往下滑查看具体数据 并点击查看图像就可以看到图像了 就可以看到如下图内容 2.自定义监控 我们通过zabbix客户端任何模板就可以监控我们想要的任何资源 如果…

02.25 继承和多态

编写一个如下场景: 有一个英雄Hero类,私有成员,攻击,防御,速度,生命值,以及所有的set get 方法 编写一个 武器 Weapon 类,拥有私有成员攻击力,以及set get 方法 编写一个…