天天看點

對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 {

String temp;

StringBuffer deencryurl = new StringBuffer();

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

temp.substring(index, temp.length()))

+ "&");

return deencryurl.toString();

}