对每个参数后的value加密 解密 ,以及http传送过程中 特殊符号+ ‘ / 等的转换。
//url参数加密
http://192.168.1.123:8090/longin.action?username=4444&userid=erererr
public String encryarg(String url)
throws Exception {
if (url.indexOf(
"?") == -1) {
return url;
}
String[] paramList;
String
temp;
StringBuffer encryurl =
new StringBuffer();
int index = url.indexOf(
"?") + 1;
encryurl.append(url.substring(0, index));
paramList = url.substring(index, url.length()).split("&");
for (
int i = 0, size = paramList.length; i < size; i++) {
temp = paramList[i];
index = temp.indexOf("=") + 1;
encryurl.append(temp.substring(0, index)
+ Aes.encode(
key,
Aes .toBytes(temp.substring(index,
temp.length()))) + "&");
}
//http 传值
return encryurl.substring(0, encryurl.length() - 1).toString()
.replace(
"+",
"%2B").replace(
"\"",
"%22").replace(
"'",
"%27");
}
//
url 参数解密
public String decryarg(String url)
throws Exception {
if (url.indexOf(
"?") == -1) {
return url;
}
String[] paramList;
String temp;
StringBuffer deencryurl =
new StringBuffer();
int index = url.indexOf(
"?") + 1;
deencryurl.append(url.substring(0, index));
paramList = url.substring(index, url.length()).split(
"&");
for (
int i = 0, size = paramList.
length; i < size; i++) {
temp = paramList[i];
index = temp.indexOf(
"=") + 1;
if (i == size - 1)
deencryurl
.append(temp.substring(0, index)
+ Aes.decrypt(
key,
temp.substring(index, temp.length())));
else
deencryurl
.append(temp.substring(0, index)
+ Aes.decrypt(
key,
temp.substring(index, temp.length()))
+
"&");
}
return deencryurl.toString();
}
转载于:https://blog.51cto.com/netsky1990/957442