/**
* java实现xor运算
* @param ascii
* @param toUpCase
* @return
*/
public static String xorAscii(String ascii,boolean toUpCase) {
if (toUpCase) {
return xorAscii( ascii).toUpperCase();
} else {
return xorAscii( ascii).toLowerCase();
}
}
/**
* java实现xor运算
* @param ascii
* @return
*/
public static String xorAscii(String ascii) {
String hex = HexUtil.encodeHexStr(ascii);
return xorHex(hex);
}
/**
* java实现xor运算
* @param hex 16进制字符串
* @return
*/
public static String xorHex(String hex) {
int result = Integer.parseInt(hex.substring(0,2),16);
for (int i = 2; i <hex.length(); i = i + 2) {
result ^= Integer.parseInt(hex.substring(i,i+2),16);
}
return HexUtil.toHex(result);
}
public static void main(String[] args){
//结果是6A
System.out.println(xorAscii("1G2:1,s:347,c:1413977957",true));
}