import java.util.Scanner; public class a { public static void main(String[] args) { Scanner scan =new Scanner(System.in); System.out.println("plese type some english"); String password = scan.nextLine(); //获取用户输入 char[] array=password.toCharArray(); //获取字符数组 for (int i = 0; i < array.length; i++) { //遍历字符数组 array[i]=(char)(array[i]^200); //对每个数组元素进行异或运算 } System.out.println("result is:"); System.err.println(new String(array)); //输出密匙 }
通过位运算的"^"异或运算符 把字符串与一个指定的值进行异或运算,改变每个字符的值.
根据,相同为0,不同为1的原则,能实现简单的加密。
然而,在密码破译时基本的破坏方式是字母频率表。