数据加密之SymmetricAlgorithm加密
2015-05-06 14:35 糯米粥 阅读(1737) 评论(0) 编辑 收藏 举报1 #region SymmetricAlgorithm加密 2 /// <summary> 3 /// 按指定对称算法、键和向量加密字符串 4 /// </summary> 5 public static byte[] Encrypt(string plainText, string algName, byte[] rgbKey, byte[] rgbIv) 6 { 7 var alg = SymmetricAlgorithm.Create(algName); 8 var transform = alg.CreateEncryptor(rgbKey, rgbIv); 9 var ms = new MemoryStream(); 10 var encStream = new CryptoStream(ms, transform, CryptoStreamMode.Write); 11 var sw = new StreamWriter(encStream); 12 sw.WriteLine(plainText); 13 sw.Close(); 14 encStream.Close(); 15 var buffer = ms.ToArray(); 16 ms.Close(); 17 return buffer; 18 } 19 #endregion 20 #region SymmetricAlgorithm解密 21 /// <summary> 22 /// 按指定对称算法、键和向量解密数据 23 /// </summary> 24 public static string Decrypt(byte[] cypherText, string algName, byte[] rgbKey, byte[] rgbIv) 25 { 26 var alg = SymmetricAlgorithm.Create(algName); 27 var transform = alg.CreateDecryptor(rgbKey, rgbIv); 28 var ms = new MemoryStream(cypherText); 29 var encStream = new CryptoStream(ms, transform, CryptoStreamMode.Read); 30 var sr = new StreamReader(encStream); 31 var val = sr.ReadLine(); 32 sr.Close(); 33 encStream.Close(); 34 ms.Close(); 35 return val; 36 } 37 #endregion
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?