對每個參數後的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();
}