IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 一种使用RSA非对称加密与AES对称加密的联合加密的解决方案以及过程复盘 -> 正文阅读

[网络协议]一种使用RSA非对称加密与AES对称加密的联合加密的解决方案以及过程复盘

? ? ? ? 对于现在互联网的环境而已 日益发展的如今,网络安全问题所引发的一系列安全问题进而引发商业秘密泄露、企事业/个人的经济损失,更有甚者是网络犯罪,或殃及国家安全。

? ? ? ? 目前开发场景中,需要对一些关键信息进行加密传输 ,除了一些服务器运维层面,如防火墙,监控软件等等,还有开启https加密外,我们这里采取RSAAES两个加解密算法来实现信息的加解密传输。具体步骤如下:

步骤一、先使用工具或命令 生成一个RSA的公私钥??

这里 我们使用在线网站工具生成? ?http://www.metools.info/code/c80.html

?得出公钥

-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvIIQ0Vs0/Ht8gNBCoGNn
GyuDu2ExPwSRtindJUydTPcPevP6V+F3zuuk3MfuW9WWC/Hcr61z1LHxLi11NRVv
P21WBNXyEZl8R+L4FxTuILGrYsucu7C/Y+BW/MyVPTwKgKEF8y2DrpXoCQlDtPdB
JYjOx5K1Rc3GHpynWpx5v3fqYsF7ISwy6HC1JwlCSDUj96kFwpL4xtSnWO+5E0LZ
3VDqrMBjqrEl26nlbE1Sxl2PwSSITjumqAvr8ndTmjELKRmwxCFZ/sKAOMPHFGEg
L2TzgaU+PrUG2ClicmKikNf/rKmJfkSq2zTmC/4RnOIQfQreVnPjRAcHIQlRVoW3
ZwIDAQAB
-----END PUBLIC KEY-----

得出私钥

-----BEGIN PRIVATE KEY-----
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQC8ghDRWzT8e3yA
0EKgY2cbK4O7YTE/BJG2Kd0lTJ1M9w968/pX4XfO66Tcx+5b1ZYL8dyvrXPUsfEu
LXU1FW8/bVYE1fIRmXxH4vgXFO4gsatiy5y7sL9j4Fb8zJU9PAqAoQXzLYOulegJ
CUO090EliM7HkrVFzcYenKdanHm/d+piwXshLDLocLUnCUJINSP3qQXCkvjG1KdY
77kTQtndUOqswGOqsSXbqeVsTVLGXY/BJIhOO6aoC+vyd1OaMQspGbDEIVn+woA4
w8cUYSAvZPOBpT4+tQbYKWJyYqKQ1/+sqYl+RKrbNOYL/hGc4hB9Ct5Wc+NEBwch
CVFWhbdnAgMBAAECggEAGVFWtOeNDEQBisNtz2DKXknP3YDGPnJ8p3yj6PiLP+UG
vTq7asYrcy0O7WAk0Uy0ZFJNk4K2ReDIRa1xSnnggSJMJUYexuJYYMdJDsCO4vE5
1YEHQeYRLnbY+Ab6HElOF8yIogqA3xffHCeUYl+67jGbpA4+LmveqgncKD1P1Lkp
PZJ1rhpE8p4UoBk6B9hvbXaMS6HZo9uHCwvNNp1+VXP7grmLnPcX2gBwmjMVtmT3
dwgD0scCjcxEm7q27UFwGr9GoxrgGdrymtnU/kCLKZTIBJVEIYaov6fNfmO8hjuR
oFxamgNlorbkgK9s+F8xqIECBtnildlP8wRm8FVB8QKBgQDl+uTkLhJuWh35/LB8
jdAgKg6x4dkFttSXuUpf3LVXPmEHHI+sWLyjAwwNctm2uZaqCupLGq+/2R9dMkJS
GWqeAtRVdX/mFEJSCSouNT68BJPGz406wclfnd9W2nxD6Mw1W3My5u6dP60rlmml
krNF6tS3XVAvdC5U4/rsQyL/kwKBgQDR1fvKLgbj/9afEJUW5nkLxnLld/XiYGnX
8Iip8GGB1k3rZTstNomD62WE1Ti+2ZGedJH9mZuvSr24V2gs1umFSLmJikSFwKWg
quebFF9ArkeeFbMDHazwgs83y8AgW9es4s8PnWK+frirwUJbLUDwY7cnnf3owMil
x+T65YsFXQKBgAzvTYxf4v196A21Xp/Cwh/s/aKXl0MxA0f9TeeSXEip438o5hPF
ceahNz5SZVhXm9e4gXDz8UqTBaaSOxSvBUYZ1qNv1l+0Z/6BMXQj3oFoqH8YEVNq
rs7H7FXQOAkBwOqHWDVWs7j4ad73uL1tQNP/3zLo9qeUmz5/DA/ZvtAtAoGBAIiB
Vh1+t8jXBD3SQcr1/8TjQpd45KJx6ikqNx2mXShjy6jY4BhXpDoHhrFVLGcrjomw
d9CsfxUX4Dft1L1myd+FIf4RzuXcH2NYCvdd12FyfvCeWSgrw/dqgXdguwnR9Ypo
uh8EWdpnAafqP0qlM9uuYtYI98bUszL1yUZW0YuZAoGAdQNhMmeLWDyb+kAhzhde
aVFJv3HQXM1zmuV69Kf3VYIvW6i0QVVicMQH68/0ARD4iXjGSun+T9pLxDrpCnr6
qBGJL2+q3c3d+mfVy1HuWTrXyDwModuIxtRqbdW2lT5OQ52E/XPaeMxlsHq8magz
WBedmvwOT8m4lKn5a2GjYOY=
-----END PRIVATE KEY-----

步骤二、生成一个随机数,使用RSA生成的公钥去解密随机数信息,得加密key?

这里RSA我们使用在线网址工具进行转化??http://www.metools.info/code/c81.html

如随机数为? J83683fGgS?

得出加密key

XHew7bE1XOW9e7ex4eIX3iAtlpWgZD0N2JLPpWjKjWFOPFJFMW24iOlfO4IwHFuatxszpgPuf2+tI6Ip9OZsFTMV5KwYp6yRRCcuQbg03xUCfSU/XJ7dqNA/NR9whZNZ8JhFQiJOy3epGdPCoqGWv2HoeDaecPqVDHcy29RO5pXUo4CPRlHKrOy9KOOQ9LuBLnV7DT7stHusGeObb94e+cjV9xvShqqnvncWahKs80Grbv9luRUBJ++gXHroz7Pjb3q2mmDMcFDWfXHHzm0Lv4WeiA73SUPuzg5FPGpD2vhi81DmC2FQaWN4ww4SHf1qaNq+nywGbSKdWAaCZ7Mkyg==

步骤三、将要加密的信息使用AES加密算法进行一个加密,其密码为我们第二步定义的明文key

这里AES我们使用在线网址工具进行转化?http://www.metools.info/code/c24.html

?如 加密信息为hello world 字符串? ,得出AES的加密data

U2FsdGVkX1+2kZWkbcUy4HUsJadSmXdKq/8RwSKRV2M=

如今? ?将两个加密信息? key 与密文data进行传输? 至此,信息的加密过程已经结束。下面将介绍其解密过程


步骤四、将第一步生成的私钥进行下发? 给予解密者,解密者拿到加密后的data与key进行解密操作。

步骤五、使用私钥解密密文key,得明文key??

这里 我们使用在线网站工具进行解密? ?http://www.metools.info/code/c81.html

得到明文key

?J83683fGgS

步骤六、使用明文key作为其AES的解密密码,对其密文data进行解密

得出最终的明文data? ?即hello world 字符串。

至此? 整个加解密过程结束。

此方案适用与各种语言,是跨语言边界的。上诉只是一种加解密的思路,仅供参考,欢迎交流。谢谢。

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-12-08 14:09:52  更:2021-12-08 14:11:52 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年7日历 -2024/7/8 12:46:48-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码