創(chuàng)建一個類,通過位運算中的"^"異或運算符把字符串與一個指定的值進行異或運算,從而改變字符串每個字符的值,這樣就可以得到一個加密后的字符串。當(dāng)把加密后的字符串作為程序輸入內(nèi)容,再與那個指定的值進行異或運算,實現(xiàn)把加密后的字符串還原為原有字符串的值。
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();// 獲取字符數(shù)組
for (int i = 0; i < array.length; i++) {// 遍歷字符數(shù)組
array[i] = (char) (array[i] ^ 20000);// 對每個數(shù)組元素進行異或運算
}
System.out.println("加密或解密結(jié)果如下:");
System.err.println(new String(array));// 輸出密鑰
}
}
效果如圖所示: