利用位运算实现加密解密

public static void main(String[] args) { // TODO 自动生成方法存根 Scanner scanner = new Scanner(System.in); System.out.println("请输入要加密的英文字符串或要解密的字符串:"); String password = scanner.nextLine(); char[] array = password.toCharArray(); for (int i = 0; i < array.length; i++) { array[i] = (char)(array[i]^20000);//对每个数组元素进行异或运算 } System.out.println(new String(array));//输出密钥 } 

这种方法只能对英文字符串进行加密

用位运算可以实现很多算法,如一个数字的位移运算,每左移n位等于这个数乘以2的n次方,反之除以2的n次方

2<<4的值为2*16

再如不借用第三个变量实现两个变量的互换

public static void main(String[] args) { // TODO 自动生成方法存根 int a = 12; int b = 44; a = a^b; b = b^a; a = a^b; System.out.println(a+"========="+b); } 

你可能感兴趣的:(加密,算法,String,解密)