简单的数据加密解密
通常都是利用“^”异或运算对字符串进行加密
通过char[] array = String.toCharArray();// 获取字符数组;
然后遍历字符数组,进行异或运算
按位做“异或”运算是:位值相同得1,不同得0
原文和密钥进行异或运算得到密文,这是加密
将密文和同一密钥进行异或运算就可以得到原文,这就是解密
代码如下:
1 import java.io.*; 2 3 public class Example { 4 public static void main(String[] args) { 5 char a[] = "我真的超级帅".toCharArray(); 6 int n = 0; 7 try { 8 File out = new File("word.txt"); 9 for (int i = 0; i < a.length; i++) { 10 a[i] = (char) (a[i] ^ 'R'); 11 } 12 FileWriter fw = new FileWriter(out); 13 fw.write(a, 0, a.length); 14 fw.close(); 15 FileReader fr = new FileReader(out); 16 char tom[] = new char[10]; 17 System.out.println("加密后:"); 18 while ((n = fr.read(tom, 0, 10)) != -1) { 19 String s = new String(tom, 0, n); 20 System.out.println(s); 21 } 22 fr.close(); 23 fr = new FileReader(out); 24 System.out.println("明文:"); 25 while ((n = fr.read(tom, 0, 10)) != -1) { 26 for (int j = 0; j < n; j++) { 27 tom[j] = (char) (tom[j] ^ 'R'); 28 } 29 String str = new String(tom, 0, n); 30 System.out.println(str); 31 } 32 33 fr.close(); 34 } catch (Exception e) { 35 e.printStackTrace(); 36 } 37 38 } 39 40 }
加密后结果如下: