对称加密算法实现C#数据加密

开发 后端 算法
本文将介绍关于对称加密算法的C#数据加密代码,对称加密在一定程度上还是比较安全的,希望本文能给大家带来帮助。

以下是关于对称加密算法的C#数据加密实现代码,大家可以根据需要更改不同的算法,文中以Rijndael算法为例:

  1. using System;   
  2. using System.IO;   
  3. using System.Security.Cryptography;   
  4. using System.Text;   
  5.  
  6. namespace DataCrypto   
  7. {   
  8. ///    
  9. /// C#数据加密对称加密算法类   
  10. /// 
  11.  
     
  12. public class SymmetricMethod   
  13. {   
  14.  
  15. private SymmetricAlgorithm mobjCryptoService;   
  16. private string Key;   
  17. ///    
  18. /// 对称加密类的C#数据加密   
  19. /// 
  20.  
     
  21. public SymmetricMethod()   
  22. {   
  23. mobjCryptoService = new RijndaelManaged();   
  24. Key = "Guz(%&hj7x89H$yuBI0456FtmaT5&fvHUFCy76*h%(HilJ$lhj!y6&(*jkP87jH7";   
  25. }   
  26. ///    
  27. /// 获得密钥   
  28. /// 
  29.  
     
  30. /// 密钥   
  31. private byte[] GetLegalKey()   
  32. {   
  33. string sTemp = Key;   
  34. mobjCryptoService.GenerateKey();   
  35. byte[] bytTemp = mobjCryptoService.Key;   
  36. int KeyLength = bytTemp.Length;   
  37. if (sTemp.Length > KeyLength)   
  38. sTemp = sTemp.Substring(0, KeyLength);   
  39. else if (sTemp.Length < KeyLength)   
  40. sTemp = sTemp.PadRight(KeyLength, ' ');   
  41. return ASCIIEncoding.ASCII.GetBytes(sTemp);   
  42. }   
  43. ///    
  44. /// 获得初始向量IV   
  45. /// 
  46.  
     
  47. /// 初试向量IV   
  48. private byte[] GetLegalIV()   
  49. {   
  50. string sTemp = "E4ghj*Ghg7!rNIfb&95GUY86GfghUb#er57HBh(u%g6HJ($jhWk7&!hg4ui%$hjk";   
  51. mobjCryptoService.GenerateIV();   
  52. byte[] bytTemp = mobjCryptoService.IV;   
  53. int IVLength = bytTemp.Length;   
  54. if (sTemp.Length > IVLength)   
  55. sTemp = sTemp.Substring(0, IVLength);   
  56. else if (sTemp.Length < IVLength)   
  57. sTemp = sTemp.PadRight(IVLength, ' ');   
  58. return ASCIIEncoding.ASCII.GetBytes(sTemp);   
  59. }   
  60. ///    
  61. /// 加密方法   
  62. /// 
  63.  
     
  64. /// 待加密的串   
  65. /// 经过加密的串   
  66. public string Encrypto(string Source)   
  67. {   
  68. byte[] bytIn = UTF8Encoding.UTF8.GetBytes(Source);   
  69. MemoryStream ms = new MemoryStream();  

对称加密算法实现C#数据加密就介绍到这里。

【编辑推荐】

  1. C#反射方法学习总结
  2. 浅谈C#测量cpu性能
  3. C#远程计算机的一些理论知识
  4. 浅析C# Static修饰
  5. C#转换农历的简单方法
责任编辑:彭凡 来源: 51CTO.com
相关推荐

2009-08-04 11:08:33

ASP.NET数据加密

2009-08-21 15:02:31

C#加密算法

2023-07-30 17:44:24

CryptoJS加密字符串

2018-07-10 10:29:27

2010-07-28 10:09:01

2023-08-01 07:24:05

2020-05-27 10:10:56

对称加密Hash算法数字签名

2023-10-16 19:05:20

2019-08-02 10:43:57

2021-11-22 23:20:01

加密算法架构

2020-05-08 11:13:28

Python数据技术

2009-09-09 18:50:23

C# 加密RSA

2023-08-02 07:27:53

2011-08-18 12:12:29

2020-12-16 05:46:58

算法加密算法MD5

2012-09-13 09:58:38

2011-10-24 14:16:13

XML加密算法XML加密

2009-09-09 18:57:26

C# 加密TripleDES

2023-11-22 16:08:48

2021-04-15 09:02:33

Python加密解密
点赞
收藏

51CTO技术栈公众号