1. 程式人生 > >C# 簡單的異或加密文本文件或字符串

C# 簡單的異或加密文本文件或字符串

file dal for 字符數 text -s get ron turn

一、加解密字符串

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為解密後的文本

C# 簡單的異或加密文本文件或字符串