C# 简单的异或加密文本文件或字符串

一、加解密字符串

1、加密方法:将原字符串与加密字符进行异或

 1 private char[] Encrypt(string content, string secretKey)
 2 {
 3     char[] data = content.ToCharArray();
 4     char[] key = secretKey.ToCharArray();
 5     for (int i = 0; i < data.Length; i++)
 6     {
 7         data[i] ^= key[i % key.Length];
 8     }
 9 
10     return data;
11 }

2、解密方法:将加密后的字符数组与加密字符进行异或

 1 private string Decrypt(char[] data, string secretKey)
 2 {
 3     char[] key = secretKey.ToCharArray();
 4 
 5     for (int i = 0; i < data.Length; i++)
 6     {
 7         data[i] ^= key[i % key.Length];
 8     }
 9 
10     return new string(data);
11 }

二、加解密文本文件

1、获得文本文件中的字符串

1 string filePath = Directory.GetCurrentDirectory();
2 filePath = filePath + "\\test.txt";                  //得到路径
3 string str = File.ReadAllText(filePath, Encoding.Default);

2、加密文本并保存 

1 char[] data = Encrypt(str,"123");      //将"123"作为密钥
2 string afterEncrypt = new string(data);
3 File.WriteAllText(filePath, afterEncrypt);     //加密后的字符串写入文件

3、读取文本并解密

1 string str1 = File.ReadAllText(filePath, Encoding.Default);
2 char[] data1 = str.ToCharArray();   
3 str1 = TextDecrypt(data1, "123");    //解密 str1为解密后的文本

 

猜你喜欢

转载自www.cnblogs.com/guogangsun/p/10046924.html