对称加密算法实现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#转换农历的简单方法
THE END