一种应用于浏览器的web数据加密传输方式的制作方法

文档序号:15358179发布日期:2018-09-05 00:16阅读:224来源:国知局

本发明涉及一种数据传输方式,尤其是涉及一种应用于浏览器的web数据加密传输方式。



背景技术:

当前很多web应用和网站开发都是基于web技术,客户端使用浏览器自动下载并运行javascript脚本语言,而javascript是一种直译式脚本语言,代码是以明文形式显示的,而且基于javascript的ajax技术通常也是通过请求后台接口以如json、xml和text明文数据格式实现的。而这一整个过程,对于客户端来说,其javascript代码和接口数据都是可见的,很容易被盗用。

而当前对javascript代码保护一般都是通过代码混淆方式来实现,即对代码中的局部变量和局部函数进行随机名称替换,并去除空白符从而使代码可读性变差,然而此保护方法对于该专业的技术人员来说几乎起不到保护作用,甚至是没有任何保护作用。



技术实现要素:

本发明为解决现有web应用和网站存在着javascript代码和接口数据容易被盗用,无法起到有效保护作用等现状而提供的一种为web应用传输javascript和接口数据提供数据安全和保护功能,防止被盗用,提高使用安全性的应用于浏览器的web数据加密传输方式。

本发明为解决上述技术问题所采用的具体技术方案为:一种应用于浏览器的web数据加密传输方式,其特征在于:包括服务端和使用浏览器前端的客户端,服务端包括javasrcipt解密算法代码转换成png图片模块、经过加密的javascript文本文件模块和接口下发加密文本数据模块,经过加密的javascript文本文件模块加密包含有可执行片段的javascript代码文本,为web应用传输javascript和接口数据是提供数据安全和保护功能,javasrcipt解密算法代码转换成png图片模块解密算法的javasrcipt代码是事先通过png图片格式保存在服务端,接口下发加密文本数据模块在接口需传递json、xml和text格式明文数据给前端过程中,先将其封装至一段具有防止断点,防止调试的javascript代码中,再将这段代码进行可逆加密后将秘钥和密文同时下发;客户端通过请求下载javasrcipt解密算法代码转换成png图片模块的png图片并解码后才能获得解密算法的javasrcipt代码。增强javasrcipt代码的获取难度与解密困难性,为web应用传输javascript和接口数据提供数据安全和保护功能,防止被盗用,提高web数据使用安全性。

作为优选,所述的客户端依次包括预制的下载和界面图片javascript算法模块、解密算法和获取javascript加密文件的代码模块、执行并通过ajax获取后端加密的数据模块和供应用前端使用的数据模块,客户端通过预制的下载和界面图片javascript算法模块请求下载服务端javasrcipt解密算法代码转换成png图片模块的png图片,解密算法和获取javascript加密文件的代码模块请求获得服务端经过加密的javascript文本文件模块的加密代码文本,执行并通过ajax获取后端加密的数据模块请求获取接口下发加密文本数据模块下发的秘钥和密文数据,执行并通过ajax获取后端加密的数据模块对秘钥和密文数据解码后才能获得解密算法的javasrcipt代码为供应用前端使用的数据模块提高解密数据。增强javasrcipt代码的获取难度与解码困难性,提高使用安全可靠性。

作为优选,所述的javasrcipt解密算法代码转换成png图片模块依次包括开始、读取javasrcipt文件、将utf8字符转换成acsii码、创建对应字符长度足够的png内存存储空间、遍历acsii转换成二进制数据填充至png像素中和生产png图片步骤,将javasrcipt解密算法代码转换成png图片保存至缓存文件供前端请求读取;在读取javasrcipt文件步骤中,读取javascript解密算法文件,存入字符串缓存中。提高解密算法难度。

作为优选,所述的经过加密的javascript文本文件模块包括如下步骤

a获取需加密的文本数据步骤;

b取得一个随机16位数字并将其转化为32进制的字符串s作为秘匙;

c获取秘匙s中前两位数字组合成一个字符串后转化成十进制数字n;

d遍历需加密文本,获取unicode的十进制值,并减去n,把计算后的值加上一个标记字符b后会合并累加,记做z;

e设r=b+i,m=第i个m字符串中字符对应的unicode值;将z中所有的r字符串替换m字符串;

f获取秘匙s中所有字符串字母后组合成一个字符串m,长度l;f步骤设在b步骤之后;

g判断是否l>9,若l>9,则l=9;否则转入h步骤;

h从i=0开始,遍历l,设r=b+i,m=第i个m字符串中字符对应的unicode值;将z中所有的的r字符串替换m字符串,i=i+1的遍历l,i=0步骤;

j遍历后判断是否i<9,若i<9,则转入k步骤;

k返回密文z和秘钥s。

提高javascript文本加密有效性,提高使用安全可靠性。

作为优选,作为优选,所述的预制的下载和界面图片javascript算法模块和解密算法和获取javascript加密文件的代码模块之间执行解码png图片,获取算法和初始javasrcipt代码操作。提高javascript文本解码难度,提高安全性。

作为优选,所述的解密算法和获取javascript加密文件的代码模块和执行并通过ajax获取后端加密的数据模块之间执行解码加密的javascript应用前端可执行脚本操作。

作为优选,所述的执行并通过ajax获取后端加密的数据模块和供应用前端使用的数据模块之间执行解密数据操作。

作为优选,所述的解密数据操作包括如下步骤

1)将解密算法和获取javascript加密文件的代码模块请求获得经过加密的javascript文本文件模块的秘钥s中前两个数字组合成一个字符串后转化成十进制数字n;

2)将秘钥s中所有字母后组合成一个字符串m,长度l;

3)如果l>9,l=9;

4)从i=0开始,遍历l,设r=b+i,m=第i个m字符串中字符对应的unicode值;将z中所有的的m字符串替换r字符串,i=i+1;

5)获取秘钥s中前两个数字组合成一个字符串后转化成十进制数字n;

6)遍历需解密文本,获取unicode的十进制值并加上n后转化成utf-8字符串合并累加,得到解密数据。

本发明的有益效果是:增强javasrcipt代码的获取难度与解密困难性,为web应用传输javascript和接口数据提供数据安全和保护功能,防止被盗用,提高web数据使用安全性。

附图说明:

下面结合附图和具体实施方式对本发明做进一步的详细说明。

图1是本发明应用于浏览器的web数据加密传输方式的架构原理结构示意图。

图2是本发明应用于浏览器的web数据加密传输方式中的一种技术流程图结构示意图。

图3是本发明应用于浏览器的web数据加密传输方式中加密算法流程结构示意图。

具体实施方式

图1、图2、图3所示的实施例中,一种应用于浏览器的web数据加密传输方式,包括服务端01和使用浏览器前端的客户端02,服务端01包括javasrcipt解密算法代码转换成png图片模块10、经过加密的javascript文本文件模块20和接口下发加密文本数据模块30,经过加密的javascript文本文件模块加密包含有可执行片段的javascript代码文本,为web应用传输javascript和接口数据是提供数据安全和保护功能,javasrcipt解密算法代码转换成png图片模块解密算法的javasrcipt代码是事先通过png图片格式保存在服务端,接口下发加密文本数据模块在接口需传递json、xml和text格式明文数据给前端过程中,先将其封装至一段具有防止断点,防止调试的javascript代码中,再将这段代码进行可逆加密后将秘钥和密文同时下发;客户端通过请求下载javasrcipt解密算法代码转换成png图片模块的png图片并解码后才能获得解密算法的javasrcipt代码。客户端02依次包括预制的下载和界面图片javascript算法40模块、解密算法和获取javascript加密文件的代码50模块、执行并通过ajax获取后端加密的数据60模块和供应用前端使用的数据70模块,客户端通过预制的下载和界面图片javascript算法40模块请求下载服务端javasrcipt解密算法代码转换成png图片10模块的png图片,解密算法和获取javascript加密文件的代码模块请求获得服务端经过加密的javascript文本文件20模块的加密代码文本,执行并通过ajax获取后端加密的数据模块请求获取接口下发加密文本数据30模块下发的秘钥和密文数据,执行并通过ajax获取后端加密的数据模块对秘钥和密文数据解码后才能获得解密算法的javasrcipt代码为供应用前端使用的数据模块提高解密数据。预制的下载和界面图片javascript算法40模块向javasrcipt解密算法代码转换成png图片10模块执行1、发起请求操作请求,javasrcipt解密算法代码转换成png图片10模块向预制的下载和界面图片javascript算法40模块返执行2、返回图片操作;解密算法和获取javascript加密文件的代码50模块向经过加密的javascript文本文件20模块执行4、发起请求操作请求,经过加密的javascript文本文件20模块向解密算法和获取javascript加密文件的代码50模块执行5、返回文件操作;执行并通过ajax获取后端加密的数据60模块向接口下发加密文本数据30模块执行7、发起请求操作请求,接口下发加密文本数据30模块向执行并通过ajax获取后端加密的数据60模块执行8、返回数据操作;javasrcipt解密算法代码转换成png图片模块(见图2)依次包括开始、读取javasrcipt文件11、将utf8字符转换成acsii码12、创建对应字符长度足够的png内存存储空间13、遍历acsii转换成二进制数据填充至png像素中14和生产png图片15步骤,将javasrcipt解密算法代码转换成png图片保存至缓存文件供前端请求读取;在读取javasrcipt文件步骤中,读取javascript解密算法文件,存入字符串缓存中。

经过加密的javascript文本文件模块(见图3)包括开始21及如下步骤

a获取需加密的文本数据步骤22;

b取得一个随机16位数字并将其转化为32进制的字符串s作为秘匙23;

c获取秘匙s中前两位数字组合成一个字符串后转化成十进制数字n24;

d遍历需加密文本,获取unicode的十进制值,并减去n,把计算后的值加上一个标记字符b后会合并累加,记做z25;

e设r=b+i,m=第i个m字符串中字符对应的unicode值;将z中所有的r字符串替换m字符串26;

f获取秘匙s中所有字符串字母后组合成一个字符串m,长度l27;f步骤设在b步骤之后;

g判断是否l>9,若l>9,则l=9;否则转入h步骤;

h从i=0开始,遍历l,设r=b+i,m=第i个m字符串中字符对应的unicode值;将z中所有的的r字符串替换m字符串,i=i+1的遍历l,i=0步骤28;

j遍历后判断是否i<9,若i<9,则转入k步骤;

k返回密文z和秘钥s29。

也可在a步骤和b步骤之间还执行如下操作

x.将需加密的字符串保存至变量a;

y.预定义javascript防调试和失效时间设定代码;

1y.将当前请求时间设入javascripttp变量中,当前端执行该代码的时间和从服务器获取时间的差值大于1分钟时,直接return;

2y.设置window.onresize事件监听,当窗口outerheight大于innerheight或outerwidth大于innerwidth时,直接return。

预制的下载和界面图片javascript算法40模块和解密算法和获取javascript加密文件的代码50模块之间执行3、解码png图片,获取算法和初始javasrcipt代码操作。解密算法和获取javascript加密文件的代码50模块和执行并通过ajax获取后端加密的数据60模块之间6、执行解码加密的javascript应用前端可执行脚本操作。执行并通过ajax获取后端加密的数据60模块和供应用前端使用的数据70模块之间执行9、解密数据操作。

解密数据操作包括如下步骤

1)将解密算法和获取javascript加密文件的代码模块请求获得经过加密的javascript文本文件模块的秘钥s中前两个数字组合成一个字符串后转化成十进制数字n;

2)将秘钥s中所有字母后组合成一个字符串m,长度l;

3)如果l>9,l=9;

4)从i=0开始,遍历l,设r=b+i,m=第i个m字符串中字符对应的unicode值;将z中所有的的m字符串替换r字符串,i=i+1;

5)获取秘钥s中前两个数字组合成一个字符串后转化成十进制数字n;

6)遍历需解密文本,获取unicode的十进制值并加上n后转化成utf-8字符串合并累加,得到解密数据。

png格式图片转换成javascript代码过程包括如下操作:

1)浏览器前端远程获取包含javascript代码的png图片;

2)定义canvas画布对象,宽高设置为png图片宽高;

3)并png图片写入画布对象中;

4)获取画布对象的像素矩阵;

5)遍历像素矩阵,还原成二进制对象的unicode值;

6)将unicode值还原成字符串;

7)使用newfunction方法执行javascript字符串。

以上内容和结构描述了本发明产品的基本原理、主要特征和本发明的优点,本行业的技术人员应该了解。上述实例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都属于要求保护的本发明范围之内。本发明要求保护范围由所附的权利要求书及其等效物界定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1