Java中使用异或运算符实现加密字符串


通过异或运算符号与一个指定的值进行异或运算,从而改变字符串每个字符的值,这样就可以得到加密后的字符串。

import java.util.Scanner; 
public class Encypt { 
  public static void main(String args[]){ 
    Scanner scan = new Scanner(System.in); 
    System.out.println("请输入一个英文字符串或解密字符串:"); 
    String password = scan.nextLine();   //获取用户输入 
    char[] array = password.toCharArray(); //获取字符数组 
    for(int i=0;i<array.length;i++) //遍历字符数组 
    { 
      array[i]=(char)(array[i]^20000); //对每个数组元素进行异或运算 
    }  
    System.out.println("加密或解密结果如下:"); 
    System.out.println(new String(array)); 
  } 
} 

输出结果:

请输入一个英文字符串或解密字符串: 
www.sohu.com 
加密或解密结果如下: 
乗乗乗与乓乏么乕与乃乏乍 

总结:

位运算可以实现很多高级,高效的运算。比如说加密,乘法中的n次方就是右移n位,速度还快。


« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3