一种基于Http网络传输数据的加密算法制造技术

技术编号:21167110 阅读:37 留言:0更新日期:2019-05-22 09:40
本发明专利技术公开了一种基于Http网络传输数据的加密算法,包括以下步骤:在数据输出端,首先对字符串按如下部署完成加密;在数据接收端,首先通过Http方式拿到传输过来的结果result,接着按如下步骤解密。本发明专利技术最终在兼顾性能和成本的情况下解决了数据在网络传输过程中被抓取的问题。HTTPS协议是由SSL+HTTP协议构建可进行加密传输、身份认证的网络协议。由于SSL+HTTP协议会带来了性能开销,而本发明专利技术在基于Http的协议基础上对数据按照特定算发做的加密,避免了这一块的性能开销。另外通过加密算法的使用保证了数据在Http传输过程的唯一性及安全性。

An Encryption Algorithms Based on Http Network Transmission Data

The invention discloses an encryption algorithm for data transmission based on Http network, which includes the following steps: at the output end of the data, the string is encrypted according to the following deployment; at the data receiving end, the result of the transmission is obtained through Http mode at first, and then decrypted according to the following steps. The invention finally solves the problem of data being captured in the process of network transmission, taking into account both performance and cost. HTTPS protocol is a network protocol which can be encrypted, transmitted and authenticated by SSL + HTTP protocol. Because of the performance overhead caused by the SSL+HTTP protocol, the present invention encrypts the data according to the specific calculation on the basis of the Http protocol, thus avoiding the performance overhead of this block. In addition, the use of encryption algorithm ensures the uniqueness and security of data transmission in Http.

【技术实现步骤摘要】
一种基于Http网络传输数据的加密算法
本专利技术涉及计算机
,尤其涉及一种基于Http网络传输数据的加密算法。
技术介绍
现有的App存在被人抓取数据的情况,抓取方直接通过模拟接口伪造请求,通过抓包工具获取到接口请求路径及参数,达到抓取接口数据的目的。对于上述问题,考虑App相关接口服务启用加密服务,并废弃早前接口。关于网络传输加解密首先考虑到的是HTTPS技术,HTTPS是HTTP协议的修改,它引入加密数据并确保其机密性。其配置可保护用户在与网络交互时免于被窃取交互数据的风险。对于上述案例来说,HTTPS无疑是一个非常好的解决方案,但现有技术的HTTPS技术仍然存在以下缺点:一、性能方面:1,相同网络环境下,HTTPS协议会使页面的加载时间延长近50%,增加10%到20%的消耗。此外,HTTPS协议还会影响缓存,增加数据开销和功耗。由于我们是给移动互联网提供服务,所以更注重用户体验一些。二、成本方面:1、SSL的专业证书需要购买,功能越强大的证书费用越高。个人网站、小网站可以选择入门级免费证书。2、SSL证书通常需要绑定固定IP,为服务器增加固定IP会增加一定费用。3、HTTPS连接服务器端资源占用高较高多,相同负载下会增加带宽和服务器投入成本。
技术实现思路
有鉴于现有技术的上述缺陷,本专利技术所要解决的技术问题是提供一种基于Http网络传输数据的加密算法,保证数据不能被抓取,同时不降低用户体验,还能避免运维成本的增加。为实现上述目的,本专利技术提供了一种基于Http网络传输数据的加密算法,包括以下步骤:在数据输出端,首先对字符串按如下部署完成加密,具体为:1,第一步,定义待传输字符串str0;2,第二步,随机生成一个16位字符串s1。将两个字符串做拼接,结果为str1=s1+str0;3,第三步,针对str1做哈希(这里用的是MD5),得到长度为32位的字符串s2;4,第四步,将str1与s2做拼接,结果为str2=str1+s2;5,第五步,采用AES加密方式对str2进行加密,得到result;通过Http形式传输加密后的结果result;在数据接收端,首先通过Http方式拿到传输过来的结果result,接着按如下步骤解密:1,第一步,同样采用AES解密方式对result进行解密,得到str2;2,第二步,将str2分拆为两部分。截取末尾32位字符串s2,剩余部分为str1;3,第三步,对str1做哈希(MD5),等到的字符串与str1。如果匹配失败则解密失败,如果匹配成功,解密继续;4,第四步,再次将str1做拆分,截取前16位字符串,剩余部分为str0;str0即为本次需要传输的结果。进一步地,所述算法跨Java、iOS和.net三种语言实现代码。本专利技术的有益效果是:本专利技术最终在兼顾性能和成本的情况下解决了数据在网络传输过程中被抓取的问题。HTTPS协议是由SSL+HTTP协议构建可进行加密传输、身份认证的网络协议。由于SSL+HTTP协议会带来了性能开销,而本专利技术在基于Http的协议基础上对数据按照特定算发做的加密,避免了这一块的性能开销。另外通过加密算法的使用保证了数据在Http传输过程的唯一性及安全性。以下将结合附图对本专利技术的构思、具体结构及产生的技术效果作进一步说明,以充分地了解本专利技术的目的、特征和效果。附图说明图1是本专利技术的算法在数据输出端对字符串加密的方法流程图。图2是本专利技术的算法在数据接收端对字符串解密的方法流程图。具体实施方式如图1、2所示,一种基于Http网络传输数据的加密算法,包括以下步骤:在数据输出端,首先对字符串按如下部署完成加密,具体为:1,第一步,定义待传输字符串str0;2,第二步,随机生成一个16位字符串s1。将两个字符串做拼接,结果为str1=s1+str0;3,第三步,针对str1做哈希(这里用的是MD5),得到长度为32位的字符串s2;4,第四步,将str1与s2做拼接,结果为str2=str1+s2;5,第五步,采用AES加密方式对str2进行加密,得到result;通过Http形式传输加密后的结果result;在数据接收端,首先通过Http方式拿到传输过来的结果result,接着按如下步骤解密:1,第一步,同样采用AES解密方式对result进行解密,得到str2;2,第二步,将str2分拆为两部分。截取末尾32位字符串s2,剩余部分为str1;3,第三步,对str1做哈希(MD5),等到的字符串与str1。如果匹配失败则解密失败,如果匹配成功,解密继续;4,第四步,再次将str1做拆分,截取前16位字符串,剩余部分为str0;str0即为本次需要传输的结果。算法定义如上结所述,在执行过程概要如下:1,在服务端实现该算法,分为Java版本和.net版本,在客户端实现该算法,Android版本和iOS版本;2,服务端和客户端分别对Http请求统一做封装,并对外提供统一接口。另外,本专利技术不只是简单使用某种加密算法,而是通过AES加密算法和MD5哈希算法组合使用,通过特定的加解密过程保证了数据的唯一性及传输过程中的安全性。由于整套加解密算法跨Java,iOS和.net三种语言,故最终输出的是一个跨平台的加解密方案。本专利技术最终在兼顾性能和成本的情况下解决了数据在网络传输过程中被抓取的问题。HTTPS协议是由SSL+HTTP协议构建可进行加密传输、身份认证的网络协议。由于SSL+HTTP协议会带来了性能开销,而本专利技术在基于Http的协议基础上对数据按照特定算发做的加密,避免了这一块的性能开销。另外通过加密算法的使用保证了数据在Http传输过程的唯一性及安全性。以上详细描述了本专利技术的较佳具体实施例。应当理解,本领域的普通技术人员无需创造性劳动就可以根据本专利技术的构思做出诸多修改和变化。因此,凡本
中技术人员依本专利技术的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。本文档来自技高网
...

【技术保护点】
1.一种基于Http网络传输数据的加密算法,其特征在于,所述算法在数据输出端,首先对字符串按如下部署完成加密,具体为:1,第一步,定义待传输字符串str0;2,第二步,随机生成一个16位字符串s1,将两个字符串做拼接,结果为str1=s1+str0;3,第三步,针对str1做哈希(MD5),得到长度为32位的字符串s2;4,第四步,将str1与s2做拼接,结果为str2=str1+s2;5,第五步,采用AES加密方式对str2进行加密,得到result,通过Http形式传输加密后的结果result;在数据接收端,首先通过Http方式拿到传输过来的结果result,接着按如下步骤解密:1,第一步,同样采用AES解密方式对result进行解密,得到str2;2,第二步,将str2分拆为两部分,截取末尾32位字符串s2,剩余部分为str1;3,第三步,对str1做哈希(MD5),等到的字符串与str1,如果匹配失败则解密失败,如果匹配成功,解密继续;4,第四步,再次将str1做拆分,截取前16位字符串,剩余部分为str0,str0即为本次需要传输的结果。

【技术特征摘要】
1.一种基于Http网络传输数据的加密算法,其特征在于,所述算法在数据输出端,首先对字符串按如下部署完成加密,具体为:1,第一步,定义待传输字符串str0;2,第二步,随机生成一个16位字符串s1,将两个字符串做拼接,结果为str1=s1+str0;3,第三步,针对str1做哈希(MD5),得到长度为32位的字符串s2;4,第四步,将str1与s2做拼接,结果为str2=str1+s2;5,第五步,采用AES加密方式对str2进行加密,得到result,通过Http形式传输加密后的结果result;在数据接收端,首先通过Http方式拿到传输...

【专利技术属性】
技术研发人员:胡绍峰张汉江刘江山王鹏
申请(专利权)人:广州车行易科技股份有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1