對url參數後的value進行 加密解密

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章