https:原理

news2025/2/26 6:12:47

目录

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.coloradmin.cn/o/2306199.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数据驱动未来!天合光能与永洪科技携手开启数字化新篇章

在信息化时代的今天,企业间的竞争早就超越了传统产品与服务的范畴,新的核心竞争力即——数据处理能力和信息技术的应用。作为数据技术领域的领军者,永洪科技凭借其深厚的技术积累和丰富的行业经验,成功助力天合光能实现数字化升级…

JavaScript数据结构-模拟链表

在JavaScript中没有链表这种数据结构,但是我们可以用对象(Object)模拟链表,下面让我们先了解链表是什么。 链表(Linked List)是一种基础的数据结构,由一系列节点(Node)组成,每一个节…

tableau之网络图和弧线图

一、网络图 概念 网络图(Network Graph),也称为网络可视化,是数据可视化的一种形式,用于显示实体(节点)之间的关系(边)。这种图表通过节点和边的结构揭示数据中的复杂关…

Linux网络数据包接收:原理、流程与优化策略

在当今数字化时代,网络已成为计算机系统不可或缺的部分。无论是日常的网页浏览、文件传输,还是大规模数据中心的高效通信,网络数据包的收发都在其中扮演着重要角色。对于 Linux 系统而言,深入理解网络数据包的接收过程&#xff0c…

sklearn中的决策树-分类树:实例-分类树在合成数据集上的表现

分类树实例:分类树在合成数据集上的表现 代码分解 在不同结构的据集上测试一下决策树的效果(二分型,月亮形,环形) 导入 import numpy as np from matplotlib import pyplot as plt from matplotlib.colors import Li…

给小米/红米手机root(工具基本为官方工具)——KernelSU篇

目录 前言准备工作下载刷机包xiaomirom下载刷机包【适用于MIUI和hyperOS】“hyper更新”微信小程序【只适用于hyperOS】 下载KernelSU刷机所需程序和驱动文件 开始刷机设置手机第一种刷机方式【KMI】推荐提取boot或init_boot分区 第二种刷机方式【GKI】不推荐 结语 前言 刷机需…

棒球和垒球区别·棒球1号位

棒球运动和垒球运动的区别主要体现在以下几个方面: 1. 用球差异:垒球比棒球大且重。棒球的直径大约是7.3厘米,重量通常在145克左右,外皮由皮革制成,质地较硬。而垒球的直径为9.7厘米,重量大约为180克左右&a…

Redis|持久化

文章目录 总体介绍RDB(Redis DataBase)官网介绍案例演示优势劣势如何检查修复 dump.rdb 文件哪些情况下会触发 RDB 快照如何禁用快照RDB 优化配置项详解小总结 AOF(Append Only File)官网介绍是什么能干嘛AOF 持久化工作流程AOF 缓…

Windows前端开发IDE选型全攻略

Windows前端开发IDE选型全攻略 一、核心IDE对比矩阵 工具名称最新版本核心优势适用场景推荐指数引用来源VS Code2.3.5轻量级/海量插件/跨平台/Git深度集成全栈开发/中小型项目⭐⭐⭐⭐⭐14WebStorm2025.1智能提示/框架深度支持/企业级调试工具大型项目/专业前端团队⭐⭐⭐⭐47…

基于Spring Boot的党员学习交流平台设计与实现(LW+源码+讲解)

专注于大学生项目实战开发,讲解,毕业答疑辅导,欢迎高校老师/同行前辈交流合作✌。 技术范围:SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容:…

【2025-02-25】基础算法:二分查找(一)

📝前言说明: ●本专栏主要记录本人的基础算法学习以及LeetCode刷题记录,主要跟随B站博主灵茶山的视频进行学习,专栏中的每一篇文章对应B站博主灵茶山的一个视频 ●题目主要为B站视频内涉及的题目以及B站视频中提到的“课后作业”。…

如何在 SpringBoot 项目使用 Redis 的 Pipeline 功能

本文是博主在批量存储聊天中用户状态和登陆信息到 Redis 缓存中时,使用到了 Pipeline 功能,并对此做出了整理。 一、Redis Pipeline 是什么 Redis 的 Pipeline 功能可以显著提升 Redis 操作的性能,性能提升的原因在于可以批量执行命令。当我…

2024年第十五届蓝桥杯青少 图形化编程(Scratch)省赛中级组真题——截取递增数

截取递增数 背景信息 递增数:如果一个大于9的正整数各个数位上的数,从左到右是逐渐变大的,那么就称这个数为递增数。 例如124、248 是递增数。 给你一个不含0的九位数,请找出从这个九位数中能截取出的所有递增数。例如:115367…

【ECMAScript6】

【ECMAScript6】 01. ES6介绍02. let和const命令03. 模板字符串04. 函数之默认值、剩余参数05. 函数之扩展运算符、箭头函数06. 箭头函数this指向和注意事项07. 解构赋值08. 扩展的对象的功能(简写)09. Symbol类型10. Set集合数据类型11. Map数据类型12.…

WebUI 部署 Ollama 可视化对话界面

文章目录 一、Node.js 安装1.系统环境查询2.官网下载nodejs 安装包3.安装 Node.js 并配置环境变量4.验证安装是否正确 二、ollama-webui 安装与配置1.代码库下载2.依赖安装3.运行 三、遇到问题与解决 一、Node.js 安装 1.系统环境查询 ubuntu20.04 系统,x86-64架构…

BMS应用软件开发 — 17 上下电控制与诊断开发 (Simulink)

目录 17.1 上下电控制流程 17.1.1 上下电流程 17.1.2 下电过程的电机放电 17.1.3 继电器状态检测 17.2 预充继电器状态判断 17.1 上下电控制流程 17.1.1 上下电流程 高压上电是指动力电池为车辆提供高压,使高压回路导通,为车辆的各个高压部件供电&…

使用Open WebUI下载的模型文件(Model)默认存放在哪里?

🏡作者主页:点击! 🤖Ollama部署LLM专栏:点击! ⏰️创作时间:2025年2月21日21点21分 🀄️文章质量:95分 文章目录 使用CMD安装存放位置 默认存放路径 Open WebUI下…

005:Cesium.viewer 知识详解、示例代码

查看本专栏目录 - 本文是第 005个API内容详解 vue+cesium 示例教程200+目录 文章目录 一、Cesium.Viewer 知识详解1. 主要用途2. 构造函数与参数3. 常用属性(1)`viewer.scene`(2)`viewer.camera`(3)`viewer.entities`(4)`viewer.clock`4. 常用方法(1)`viewer.zoomTo(…

蓝桥杯单片机组第十二届省赛第二批次

前言 第十二届省赛涉及知识点:NE555频率数据读取,NE555频率转换周期,PCF8591同时测量光敏电阻和电位器的电压、按键长短按判断。 本试题涉及模块较少,题目不难,基本上准备充分的都能完整的实现每一个功能,并…

AI客服-接入deepseek大模型到微信(本地部署deepseek集成微信自动收发消息)

1.本地部署 1.1 ollama Ollama软件通过其高度优化的推理引擎和先进的内存管理机制,显著提升了大型语言模型在本地设备上的运行效率。其核心采用了量化技术(Quantization)以降低模型的计算复杂度和存储需求,同时结合张量并行计算&…