Java中使用异或运算符实现加密字符串
通过异或运算符号与一个指定的值进行异或运算,从而改变字符串每个字符的值,这样就可以得到加密后的字符串。
importjava.util.Scanner;
publicclassEncypt{
publicstaticvoidmain(Stringargs[]){
Scannerscan=newScanner(System.in);
System.out.println("请输入一个英文字符串或解密字符串:");
Stringpassword=scan.nextLine();//获取用户输入
char[]array=password.toCharArray();//获取字符数组
for(inti=0;i<array.length;i++)//遍历字符数组
{
array[i]=(char)(array[i]^20000);//对每个数组元素进行异或运算
}
System.out.println("加密或解密结果如下:");
System.out.println(newString(array));
}
}
输出结果:
请输入一个英文字符串或解密字符串: www.sohu.com 加密或解密结果如下: 乗乗乗与乓乏么乕与乃乏乍
总结:
位运算可以实现很多高级,高效的运算。比如说加密,乘法中的n次方就是右移n位,速度还快。