码农知识堂 - 1000bd
Python
PHP
JS/TS
JAVA
C/C++
C#
GO
Kotlin
Swift
http加密解密流程
1、 客户端发起https请求
用户在浏览器里输入一个HTTPS网址,然后连接到服务器的443端口。
2、 服务端的配置
采用HTTPS协议的服务器必须要有一套数字证书,可以自己制作,也可以向组织申请。区别就是自己颁发的证书需要客户端验证通过,才可以继续访问,而使用受信任的公司申请的证书则不会弹出提示页面。这套证书其实就是一对公钥和私钥。如果对公钥不太理解,可以想象成一把钥匙和一个锁头,只是世界上只有你一个人有这把钥匙,你可以把锁头给别人,别人可以用这个锁把重要的东西锁起来,然后发给你,因为只有你一个人有这把钥匙,所以只有你才能看到被这把锁锁起来的东西。
3、 传送证书
公钥,包含很多信息,如证书的颁发机构、过期时间等
4、 客户端解析证书
客户端的SSL/TLS来完成,首先会验证公钥是否有效,比如颁发机构,过期时间
发现异常,弹出一个警示框,提示证书存在的问题
证书没有问题,就生成一个随机值。然后用证书(就是公钥)对随机值进行加密
5、 传送
加密
信息
传送的就是用证书加密后的随机值,目的是让服务器得到这个随机值,以后客户端和服务器的通信就可以通过这个给随机值来进行加密解密了
6、 服务端解密信息
服务器用私钥解密后,得到客户端传过来的随机值,然后把内容通过该随机值进行对称加密,将信息和私钥通过某种算法混合在一起
除非知道私钥,不然无法获取内容,而正好客户端和服务器都知道这个私钥
所以只要加密算法够彪悍,私钥够复杂,数据就够安全
7、 传输加密后的信息
服务器端用私钥加密后的信息,可以在客户端用随机值解密还原
8、 客户端解密信息
客户端用之前生产的私钥解密服务端传过来的信息,于是获取了解密后的内容
整个过程第三方即使监听到了数据,也束手无策
相关阅读:
VPP二层接口,不是翻墙
人工智能--机器学习概述、motplotlib的使用-折线图、散点图、柱状图、饼图
链表的概念+MySingleList的实现
个人博客搭建记录(不用CSDN了)
青阳网络文件传输系统 kiftd 1.1.0 正式发布!
Git配置用户名和邮箱
【MATLAB源码-第153期】基于matlab的OFDM系统插入导频和训练符号两种信道估计方式误码率对比仿真。
Mongodb操作基础 分片
【微服务】SpringBoot+Dubbo+ZooKeeper 实战
matlab:涉及复杂函数图像的交点求解
原文地址:https://blog.csdn.net/hannah2233/article/details/126549013
最新文章
沪漂五周年了:我越来越迷茫了
Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
MySQL-Seconds_behind_master的精度误差
[MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
Agent OS :五种驯服不确定性的范式
PortSwigger SQL注入LAB11
数据库即时编译JIT
[Begin]AI Learn Data Day 0
深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
热门文章
十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
奉劝各位学弟学妹们,该打造你的技术影响力了!
五年了,我在 CSDN 的两个一百万。
Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
面试官都震惊,你这网络基础可以啊!
你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
心情不好的时候,用 Python 画棵樱花树送给自己吧
通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
13 万字 C 语言从入门到精通保姆级教程2021 年版
10行代码集2000张美女图,Python爬虫120例,再上征途
小工具
小游戏
Copyright © 2022 侵权请联系
2656653265@qq.com
京ICP备2022015340号-1
京公网安备 11010502049817号