我需要模糊匹配参数的值
password, tokenID
示例查询字符串:
visitorNo=89&password=demo&tokenID=yxr56
应该被混淆为:
visitorNo=89&password=$$&tokenID=$$
我做了什么:
String[] parameters = queryString.split("&");
StringBuffer qS = new StringBuffer();
for(String param : parameters) {
String[] keyValue = param.split("=");
qS.append(keyValue[0]);
qS.append("=");
for(String paramToObfuscate : paramsToObfuscate) {
if(paramToObfuscate.equals(keyValue[0])) {
qS.append("$$");
}
else {
qS.append(keyValue[1]);
}
}
qS.append("&");
}
String queryStr = qS.toString().substring(0, qS.length-1);
答案 0 :(得分:0)
只有两个参数,没有更快的方法。如果有数十个,你可以使用
Set<String> paramsToObfuscate = new HashSet<String>();
和Set.contains
,肯定比几十次测试快。