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

2021-06-28 10:07

阅读:593

标签:路径   return   cto   lte   key   strong   ret   pat   length   

一、加解密字符串

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 )
 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 )
 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# 简单的异或加密文本文件或字符串

标签:路径   return   cto   lte   key   strong   ret   pat   length   

原文地址:https://www.cnblogs.com/guogangsun/p/10046924.html


评论


亲,登录后才可以留言!