加入收藏 | 设为首页 | 会员中心 | 我要投稿 开发网_开封站长网 (http://www.0378zz.com/)- 科技、AI行业应用、媒体智能、低代码、办公协同!
当前位置: 首页 > 服务器 > 安全 > 正文

手把手教你如何实现一个容易的数据加解密算法

发布时间:2022-01-15 09:07:46 所属栏目:安全 来源:互联网
导读:带着大家自己实现一个简单但也很实用的加密方法,让大家了解实际项目开发中数据加密的流程。 一、一种常见的网络通信的加密流程 关于加密的算法很多,实际实现过程千差万别,下图是一个常见的网络通信加密的应用场景。 密码机的一些说明:客户端服务器端都可
   带着大家自己实现一个简单但也很实用的加密方法, 让大家了解实际项目开发中数据加密的流程。
 
   一、一种常见的网络通信的加密流程
   关于加密的算法很多,实际实现过程千差万别,下图是一个常见的网络通信加密的应用场景。
 
   密码机的一些说明:客户端服务器端都可以设置密码机(可以是软件、也可以是一个硬件,可以在本地也可以在某个服务器上,只要能够产生密钥即可)keygen和同步码都会影响到密码机生成的密钥序列;密码机在keygen和同步码相同的情况下,会产生相同的密钥序列,加解密双方需要记住产生密钥的顺序,解密多少数据就申请多少密钥。
 
下面以客户端如果要发送一段加密的密文给服务器,C/S需要交互的流程。
 
1 服务器端发送密钥密文
首先服务器端、客户端都保存了一个默认的密钥
 
服务器端随机生成密钥keygen,并使用该默认密钥对keygen加密,生成密钥密文;客户端可以通过命令定期请求该密钥密文或者服务器定时下发
 
客户端收到密钥密文后,也可以通过默认密钥进行解密得到明文的keygen
 
2. 客户端对数据加密
客户端在发送数据之前,首先生成一个同步码
 
将同步码和keygen设置给密码机,然后向密码机申请一定长度的密钥;将明文和密钥通过一定的算法进行加密(通常是异或),生成数据密文
 
3. 客户端发送同步码和数据密文
客户端将数据密文和同步码明文一起发送给服务器;服务器提取出同步码
 
4. 服务器端接收数据并解密
服务器将keygen和同步码设置给密码机,同时申请一定数量的密钥
 
服务器根据密钥对密文进行解密,即得到对应的明文;因为服务器和客户端此时都使用了相同的keygen,和同步码,所以双方申请的密钥序列一定是一样的。

(编辑:开发网_开封站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读