头图

【经验分享】恋爱中出现了中间人怎么办?

最近程序员二狗子脸上总是洋溢着幸福的笑容。

嘿嘿,没错,因为二狗子恋爱了。

恋爱对象是二狗子的好朋友雷霆给介绍的,也是一名程序员。要说程序员与程序员的恋爱,那可不得了,简直是情投意合、心心相印。最近又恰巧碰上二狗子新开发了个聊天软件,本来两人共同话题就多,这下可好了,现在用聊天软件白天夜里聊个不停的,一点点小事都要告诉对方。

对称加密

有一天,二狗子和女朋友正用着聊天软件议论下周去哪旅游,在哪个网站买机票便宜。

二狗子陷入了沉思。女朋友说得没错,聊天软件的用户对于加密通信安全的需求十分强烈。想实现消息加密传输则需要双方知晓密钥,但是密钥又无法安全通过网络发送。唉,这可真头疼。

RSA:非对称加密

自从二狗子和女朋友知道对话消息无法加密后,双方在聊天时谨慎了不少。直到有天,他们听说了一种新的加密算法,叫做 RSA 加密。

RSA 加密是一种非对称加密,可以在不直接传递密钥的情况下完成解密。它不像对称加密使用的是同一个秘钥,而是由一对密钥来进行加解密的过程,分别称为公钥和私钥。其中最有趣的是,用私钥加密的明文,只能用公钥解密。反之用公钥加密的明文,则只有对应的私钥才能解密。

二狗子和女朋友在了解 RSA 加密后,都认为这个算法很强,因为它能够完美解决对称加密传输信息时的缺陷。我们可以通过以下这张图,来具体了解该算法的加密过程。

从图中可以看出,当二狗子想给女朋友发消息时,首先需要女朋友生成一对密钥,并将其中的公钥传输给二狗子(女朋友的公钥是公开的,任何人都知道)。得到公钥的二狗子再使用该密钥给女朋友发送加密信息,女朋友用自己的私钥对加密信息进行解密(私钥是保密的,只有女朋友才能解开)。反之女朋友给二狗子发加密消息也同理。如此一来,双方只需交换彼此的公钥就能够实现消息加密。

非对称加密+对称加密

非对称加密+对称加密

这天,二狗子和久违不见的雷霆约了吃火锅,饭桌上两人相谈甚欢。雷霆问起二狗子的恋爱状况,二狗子就一五一十把和女友聊天加密的事情告诉了雷霆。

如何安全保护密钥

趁着二狗子思考的间隙,雷庭狂涮毛肚疯狂吃。而二狗子还在思考:这又回到了最初的问题,到底该如何安全地分发密钥呢?不过现在问题的重点在于身份验证上,得有个办法证明这个公钥是女朋友的。那要怎么去证明呢…

操作系统中内置的数字证书

讨论完此事,二狗子惊讶地发现桌上的一整盘毛肚已经消失了,也就草草吃了几筷就回家了。
回家的二狗子一进门,就迫不及待的跟女朋友打电话分享起与雷霆讨论的事情,女朋友听完很是开心,立马让二狗子去给他的聊天软件安装证书,二狗子打开又拍云官网挑选起了 SSL 证书来。聊天软件的问题终于可以解决了,二狗子也不用再担心恋爱中出现中间人了。

推荐阅读

详解 SSL(一):网址栏的小绿锁有什么意义?

详解 SSL(二):SSL 证书对网站的好处


云叔
-- 隐于云端,静闻天籁 --

又拍云是专注CDN、云存储、小程序开发方案、 短视频开发方案、DDoS高防等产品的国内知名企业级云服务商。

5.7k 声望
4.6k 粉丝
0 条评论
推荐阅读
一文读懂 Kubernetes 存储设计
在 Docker 的设计中,容器内的文件是临时存放的,并且随着容器的删除,容器内部的数据也会一同被清空。不过,我们可以通过在 docker run 启动容器时,使用 --volume/-v 参数来指定挂载卷,这样就能够将容器内部的...

云叔_又拍云阅读 323

封面图
JavaScript有用的代码片段和trick
平时工作过程中可以用到的实用代码集棉。判断对象否为空 {代码...} 浮点数取整 {代码...} 注意:前三种方法只适用于32个位整数,对于负数的处理上和Math.floor是不同的。 {代码...} 生成6位数字验证码 {代码...} ...

jenemy46阅读 5.9k评论 12

从零搭建 Node.js 企业级 Web 服务器(十五):总结与展望
总结截止到本章 “从零搭建 Node.js 企业级 Web 服务器” 主题共计 16 章内容就更新完毕了,回顾第零章曾写道:搭建一个 Node.js 企业级 Web 服务器并非难事,只是必须做好几个关键事项这几件必须做好的关键事项就...

乌柏木66阅读 6.1k评论 16

再也不学AJAX了!(二)使用AJAX ① XMLHttpRequest
「再也不学 AJAX 了」是一个以 AJAX 为主题的系列文章,希望读者通过阅读本系列文章,能够对 AJAX 技术有更加深入的认识和理解,从此能够再也不用专门学习 AJAX。本篇文章为该系列的第二篇,最近更新于 2023 年 1...

libinfs39阅读 6.3k评论 12

封面图
从零搭建 Node.js 企业级 Web 服务器(一):接口与分层
分层规范从本章起,正式进入企业级 Web 服务器核心内容。通常,一块完整的业务逻辑是由视图层、控制层、服务层、模型层共同定义与实现的,如下图:从上至下,抽象层次逐渐加深。从下至上,业务细节逐渐清晰。视图...

乌柏木43阅读 7.3k评论 6

CSS 绘制一只思否猫
欢迎关注我的公众号:前端侦探练习 CSS 有一个比较有趣的方式,就是发挥想象,绘制各式各样的图案,比如来绘制一只思否猫?思否猫,SegmentFault 思否的吉祥物,是一只独一无二、特立独行、热爱自由的(>^ω^&lt...

XboxYan42阅读 2.9k评论 14

封面图
从零搭建 Node.js 企业级 Web 服务器(二):校验
校验就是对输入条件的约束,避免无效的输入引起异常。Web 系统的用户输入主要为编辑与提交各类表单,一方面校验要做在编辑表单字段与提交的时候,另一方面接收表单的接口也要做足校验行为,通过前后端共同控制输...

乌柏木33阅读 6.1k评论 9

又拍云是专注CDN、云存储、小程序开发方案、 短视频开发方案、DDoS高防等产品的国内知名企业级云服务商。

5.7k 声望
4.6k 粉丝
宣传栏