创建一个类,通过位运算中的”^"异或运算符把字符串与一个指定的值进行异或运算,从而改变字符串每个字符的值,这样就可以得到一个加密后的字符串。当把加密后的字符串作为程序输入内容,再与那个指定的值进行异或运算,实现把加密后的字符串还原为原有字符串的值。
1
2
3
4
5
6
7
8
9
10
11
12
13
14 |
import
java.util.Scanner; public
class
Example { 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.err.println( new
String(array)); // 输出密钥 } } |
效果如图所示:
原文:http://www.cnblogs.com/cysolo/p/3539819.html