一种基于网络服务的数据加密校验算法
文献发布时间:2023-06-19 10:32:14
技术领域
本发明涉及互联网技术领域,具体涉及一种基于网络服务的数据加密校验算法。
背景技术
现有的互联网网络服务存在数据在传输过程被人截获的情况,即便采用加密的HTTPS协议依然无法避免截获方通过重复发送、篡改数据以及中间人攻击等方式危害数据安全和网络服务的正常运行。
发明内容
鉴于现有技术的上述安全问题,本发明所要解决的技术问题是提供一种基于网络服务的数据加密校验算法,以保障网络服务的数据安全性和合法性。
为了实现上述目标,本发明设计了一种基于网络服务的数据加密校验算法,包括以下步骤。
在数据输出端完成数据加密,具体为。
第一步,获取长度为13位的当前时间戳,得到t。
第二步,生成唯一编号(这里用UUIDv4算法),得到u。
第三步,将t和u以及原始数据d做拼接,得到str。
第四步,针对str做哈希(这里用MD5算法),得到s。
第五步,将t、u、d、s构造JSON字符串,得到str1。
第六步,将str1转换为二进制数据,得到str2。
第七步,将str2通过哈夫曼编码生成压缩数据,得到data。
第八步,将加密后的数据data通过HTTP或HTTPS协议传输出去。
在数据接收端,首先通过HTTP或HTTPS协议获取到数据data,并按如下步骤解密和校验。
第一步, 使用哈夫曼编码对data进行解压缩,得到str2。
第二步,将str2由二进制数据转换成JSON字符串,得到str1。
第三步,从str1中分别取出时间戳t、唯一编号u、原始数据d以及校验数据s。
第四步,获取接收端当前时间戳t1;如果t
第五步,判断u是否存在缓存(此处采用文件缓存)中,如果不存在则继续校验并将u记录到缓存;否则校验失败。
第六步,拼接t和u以及d,得到str。
第七步,针对str作哈希(这里用MD5算法)得到s1,并将s1与s做比较;如果相同则继续;否则校验失败。
第八步,d即为本次传输的结果 。
本发明的有益效果是。
通过加入约定特征数据t来保障数据时效性。
通过加入约定特征数据u来保障数据唯一性。
通过加入约定特征数据t和u共同作用避免中间人攻击。
通过加入约定特征数据s来保障数据合法性。
通过对数据进行二进制转码以及哈夫曼编码来保障数据安全性。
本方案HTTP协议和HTTPS协议皆可以采用。
以下将结合附图对本发明的思路进一步说明,以充分地展现本发明的目的、特征和效果。
附图说明
图1是本发明的算法在数据输出端加密算法流程图。
图2是本发明的算法在数据输入端解密和校验算法流程图。
具体实施方式
如图1、2所示的算法定义,本发明的核心思路是:输出端通过加入特征数据并采用二进制编码和哈夫曼编码的压缩方案对数据进行处理。在输入端通过哈夫曼编码解码以及二进制反编码为字符串后对特征数据进行校验,最终得到传输数据。
在具体实现时,仅需要在输出端和输入端分别提供一个通用的数据处理函数即可完成对数据的加解码以及校验过程,可以实现对业务流程的无侵入设计。
以上详细描述了本申请的较佳实施例,并不用以限制本申请。因此,凡本技术领域中依照本发明的思路通过逻辑推理和有限的实验可以得到的技术方案,皆应包含在本申请保护范围内。
- 一种基于网络服务的数据加密校验算法
- 一种基于数据一致性校验算法的优化算法