由异或运算法则:a^a=0,a^0=a
得出:如果c=a^b,那么a=c^b
即:a^b^b=a(^的逆运算仍是^)
例题:密文解密
public class Ciphertext {
public static void main (String[] args) {
char a1='十',a2='点',a3='进',a4='攻';
char secret='A';
a1=(char)(a1^secret);
a2=(char )(a2^secret);
a3=(char )(a3^secret);
a4=(char )(a4^secret);
System.out.println("密文:"+a1+a2+a3+a4);
a1=(char )(a1^secret);
a2=(char )(a2^secret);
a3=(char )(a3^secret);
a4=(char )(a4^secret);
System.out.println("原文:"+a1+a2+a3+a4);
}
}
结果: