URL特殊字符转码
对称加密与非对称加密
DES RSA加密原理
移动APP接口安全加密设计
基于令牌方式实现接口参数安全传输
验签 单向加密
URL转码:
不管是以何种方式传递url时,如果要传递的url中包含特殊字符,如想要传递一个+,但是这个+会被url会被编码成空格,想要传递&,被url处理成分隔符。
尤其是当传递的url是经过Base64加密或者RSA加密后的,存在特殊字符时,这里的特殊字符一旦被url处理,就不是原先你加密的结果了。
url特殊符号及对应的编码:
符号
url中的含义
编码
+
URL 中+号表示空格
%2B
空格
URL中的空格可以用+号或者编码
%20
/
分隔目录和子目录
%2F
?
分隔实际的URL和参数
%3F
%
指定特殊字符
%25
#
表示书签
%23
&
URL中指定的参数间的分隔符
%26
=
URL中指定参数的值
%3D
rpc远程通讯 实现加密有一些特殊字符 正好和http协议特殊字符形同 导致转成空格
localhost:8080/userName=1+1 这样的就接收到的是 1 1 空格代替了!
Java中提供了HTTP特殊字符转码
String url = "http://127.0.0.1:8080/tranIndex?"; // 参数转码 String strParam = "name=" + URLEncoder.encode("1+1", "utf-8"); String newUrl = url + strParam; String result = HttpClientUtils.httpGet(newUrl); System.out.println("result:" + result);