Url加密与解密(java,js)
Java:
作为系统之间的java代码的url传递
对应的js是:decodeURIComponent函数进⾏解密
Uri.decode(mUrl)函数:
Decodes'%'-escaped octets in the given string using the UTF-8 scheme. Replaces invalidoctets with the unicode replacement character ("\\uFFFD").
在js对应的是:encodeURIComponent进⾏加密
JavaScript:
JavaScriptencodeURI():encodeURI() 函数可把字符串作为 URI 进⾏编码。
该⽅法不会对 ASCII 字母和数字进⾏编码,也不会对这些 ASCII 标点符号进⾏编码: - _ . ! ~ * ' ( ) 。
该⽅法的⽬的是对 URI 进⾏完整的编码,因此对以下在 URI 中具有特殊含义的 ASCII 标点符号,encodeURI() 函数是不会进⾏转义的:;/?:@&=+$,#
如果 URI 组件中含有分隔符,⽐如 ? 和 #,则应当使⽤ encodeURIComponent() ⽅法分别对各组件进⾏编码。
注:如果在后台需要post⽅式获取参数值,需要此加密url
JavaScript encodeURIComponent() 函数:encodeURIComponent()函数可把字符串作为 URI 组件进⾏编码。该⽅法不会对ASCII 字母和数字进⾏编码,也不会对这些 ASCII 标点符号进⾏编码: - _ . ! ~ * ' ( ) 。
其他字符(⽐如:;/?:@&=+$,# 这些⽤于分隔 URI 组件的标点符号),都是由⼀个或多个⼗六进制的转义序列替换的。
提⽰:请注意 encodeURIComponent() 函数与 encodeURI() 函数的区别之处,前者假定它的参数是 URI 的⼀部分(⽐如协议、主机名、路径或查询字符串)。因此 encodeURIComponent() 函数将转义⽤于分隔 URI 各个部分的标点符号。
如果要把作为⼀个url参数需要这个加密。或者后台以get⽅式获取这些url参数就需要改⽅式加密。
例如:
当你的url作为⼀个另⼀个url的参数时,需要先使⽤encodeURIComponent进⾏encode
param1 = encodeURIComponent("xyz/?a=12&b=55")
下⾯就是最终url的decode的结果:
url = "domain/?param1=" + param1 + "¶m2=99";
下⾯是最终url的encode的结果:
www.domain/?param1=http%3A%2F%2Fxyz%2F%Ffa%3D12%26b%3D55
在线url网址编码解码
¶m
2=99
JavaScript decodeURIComponent(URIstring ) 函数:decodeURIComponent() 函数可对 encodeURIComponent() 函数编码的 URI 进⾏解码。
返回值:URIstring 的副本,其中的⼗六进制转义序列将被它们表⽰的字符替换。
JavaScript decodeURI(URIstring ) 函数:decodeURI() 函数可对 encodeURI() 函数编码过的 URI 进⾏decode。
返回值
URIstring 的副本,其中的⼗六进制转义序列将被它们表⽰的字符替换。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。