【经验分享】恋爱中出现了中间人怎么办?
最近程序员二狗子脸上总是洋溢着幸福的笑容。
嘿嘿,没错,因为二狗子恋爱了。
恋爱对象是二狗子的好朋友雷霆给介绍的,也是一名程序员。要说程序员与程序员的恋爱,那可不得了,简直是情投意合、心心相印。最近又恰巧碰上二狗子新开发了个聊天软件,本来两人共同话题就多,这下可好了,现在用聊天软件白天夜里聊个不停的,一点点小事都要告诉对方。
对称加密
有一天,二狗子和女朋友正用着聊天软件议论下周去哪旅游,在哪个网站买机票便宜。
二狗子陷入了沉思。女朋友说得没错,聊天软件的用户对于加密通信安全的需求十分强烈。想实现消息加密传输则需要双方知晓密钥,但是密钥又无法安全通过网络发送。唉,这可真头疼。
RSA:非对称加密
自从二狗子和女朋友知道对话消息无法加密后,双方在聊天时谨慎了不少。直到有天,他们听说了一种新的加密算法,叫做 RSA 加密。
RSA 加密是一种非对称加密,可以在不直接传递密钥的情况下完成解密。它不像对称加密使用的是同一个秘钥,而是由一对密钥来进行加解密的过程,分别称为公钥和私钥。其中最有趣的是,用私钥加密的明文,只能用公钥解密。反之用公钥加密的明文,则只有对应的私钥才能解密。
二狗子和女朋友在了解 RSA 加密后,都认为这个算法很强,因为它能够完美解决对称加密传输信息时的缺陷。我们可以通过以下这张图,来具体了解该算法的加密过程。
从图中可以看出,当二狗子想给女朋友发消息时,首先需要女朋友生成一对密钥,并将其中的公钥传输给二狗子(女朋友的公钥是公开的,任何人都知道)。得到公钥的二狗子再使用该密钥给女朋友发送加密信息,女朋友用自己的私钥对加密信息进行解密(私钥是保密的,只有女朋友才能解开)。反之女朋友给二狗子发加密消息也同理。如此一来,双方只需交换彼此的公钥就能够实现消息加密。
非对称加密+对称加密
非对称加密+对称加密
这天,二狗子和久违不见的雷霆约了吃火锅,饭桌上两人相谈甚欢。雷霆问起二狗子的恋爱状况,二狗子就一五一十把和女友聊天加密的事情告诉了雷霆。
如何安全保护密钥
趁着二狗子思考的间隙,雷庭狂涮毛肚疯狂吃。而二狗子还在思考:这又回到了最初的问题,到底该如何安全地分发密钥呢?不过现在问题的重点在于身份验证上,得有个办法证明这个公钥是女朋友的。那要怎么去证明呢…
讨论完此事,二狗子惊讶地发现桌上的一整盘毛肚已经消失了,也就草草吃了几筷就回家了。 回家的二狗子一进门,就迫不及待的跟女朋友打电话分享起与雷霆讨论的事情,女朋友听完很是开心,立马让二狗子去给他的聊天软件安装证书,二狗子打开又拍云官网挑选起了 SSL 证书来。聊天软件的问题终于可以解决了,二狗子也不用再担心恋爱中出现中间人了。
推荐阅读

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
COSCL 社区畅聊第四期:如何平衡商业化与开源的冲突
开源商业化是久经不衰的话题,在《中国开源社区 Landscape 社区畅聊》系列直播的第四期,我们邀请了 Zilliz 社区开发者关系 & 市场运营负责人李晨、Juicedata 合伙人 & JuiceFS 开源社区 1 号成员苏锐、云智慧企业效能高级总监 & AIOps 云智慧社区 PMC 高驰涛,畅聊探讨“如何平衡商业化与开源的冲突”这个话题,本次直播的内容包括但不限于商业公司如何定制开源战略,如何让开源融入到公司文化中、如何平衡商业盈利和开源社区的需求、 开源商业化的踩坑经验等话题 直播期间可随时提问,嘉宾会抽取高质量问题进行解答,被选中的提问者可以获得礼品一份。 一、直播主题 主题:如何平衡商业化与开源的冲突 时间:11 月 3 日 20:00 ~ 21:30 平台:“OSC 开源社区” 视频号 主办方:中国开源社区 Landscape 社区& JuiceFS 社区 & AIOPS 云智慧社区 二、直播嘉宾 主持人:李晨 Zilliz 开发者关系及市场运营负责人,Linux Foundation APAC Evangelist,LF ...
- 下一篇
smart-doc 2.6.2 发布,Java 零注解 API 文档生成工具
smart-doc 是一款同时支持 java restful api 和 Apache Dubbo rpc 接口文档生成的工具,smart-doc 颠覆了传统类似 swagger 这种大量采用注解侵入来生成文档的实现方法。 smart-doc 完全基于接口源码分析来生成接口文档,完全做到零注解侵入,你只需要按照 java 标准注释编写,smart-doc 就能帮你生成一个简易明了的 markdown 或是一个像 GitBook 样式的静态 html 文档。如果你已经厌倦了 swagger 等文档工具的无数注解和强侵入污染,那请拥抱 smart-doc 吧! 功能特性 支持接口 debug。 零注解、零学习成本、只需要写标准 java 注释。 基于源代码接口定义自动推导,强大的返回结构推导。 支持 Spring MVC,Spring Boot,Spring Boot Web Flux (controller 书写方式),JAX-RS 规范。 支持 Callable,Future,CompletableFuture 等异步接口返回的推导。 支持 JavaBean 上的 JSR303 参数校...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- Linux系统CentOS6、CentOS7手动修改IP地址
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2整合Redis,开启缓存,提高访问速度
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- MySQL8.0.19开启GTID主从同步CentOS8
- Mario游戏-低调大师作品
- CentOS7安装Docker,走上虚拟化容器引擎之路