自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

對(duì)稱加密算法實(shí)現(xiàn)ASP.NET數(shù)據(jù)加密

開發(fā) 后端 算法
對(duì)稱加密算法實(shí)現(xiàn)ASP.NET數(shù)據(jù)加密是如何執(zhí)行的呢?都有哪些類被使用?那么本文就向你介紹這些相關(guān)的內(nèi)容。

對(duì)稱加密算法實(shí)現(xiàn)ASP.NET數(shù)據(jù)加密是如何的呢?那么下面就想大家詳細(xì)說(shuō)明:

以下是關(guān)于對(duì)稱加密算法的C#實(shí)現(xiàn)ASP.NET數(shù)據(jù)加密代碼,大家可以根據(jù)需要更改不同的算法,文中以Rijndael算法為例: 

  1.  
  2. using System;   
  3. using System.IO;   
  4. using System.Security.Cryptography;   
  5. using System.Text;   
  6.  
  7. namespace DataCrypto   
  8. {   
  9. /// ﹤summary﹥   
  10. /// ASP.NET數(shù)據(jù)加密之對(duì)稱加密算法類   
  11. /// ﹤/summary﹥   
  12. public class SymmetricMethod   
  13. {   
  14.  
  15. private SymmetricAlgorithm mobjCryptoService;   
  16. private string Key;   
  17. /// ﹤summary﹥   
  18. /// ASP.NET數(shù)據(jù)加密之對(duì)稱加密類的構(gòu)造函數(shù)   
  19. /// ﹤/summary﹥   
  20. public SymmetricMethod()   
  21. {   
  22. mobjCryptoService = new RijndaelManaged();   
  23. Key = "Guz(%&hj7x89H$yuBI0456FtmaT5&fvHUFCy76*h%(HilJ$lhj!y6&(*jkP87jH7";   
  24. }   
  25. /// ﹤summary﹥   
  26. ///ASP.NET數(shù)據(jù)加密之獲得密鑰   
  27. /// ﹤/summary﹥   
  28. /// ﹤returns﹥密鑰﹤/returns﹥   
  29. private byte[] GetLegalKey()   
  30. {   
  31. string sTemp = Key;   
  32. mobjCryptoService.GenerateKey();   
  33. byte[] bytTemp = mobjCryptoService.Key;   
  34. int KeyLength = bytTemp.Length;   
  35. if (sTemp.Length ﹥ KeyLength)   
  36. sTemp = sTemp.Substring(0, KeyLength);   
  37. else if (sTemp.Length ﹤ KeyLength)   
  38. sTemp = sTemp.PadRight(KeyLength, ' ');   
  39. return ASCIIEncoding.ASCII.GetBytes(sTemp);   
  40. }   
  41. /// ﹤summary﹥   
  42. /// ASP.NET數(shù)據(jù)加密之獲得初始向量IV   
  43. /// ﹤/summary﹥   
  44. /// ﹤returns﹥初試向量IV﹤/returns﹥   
  45. private byte[] GetLegalIV()   
  46. {   
  47. string sTemp = "E4ghj*Ghg7!rNIfb&95GUY86GfghUb#er57HBh(u%g6HJ($jhWk7&!hg4ui%$hjk";   
  48. mobjCryptoService.GenerateIV();   
  49. byte[] bytTemp = mobjCryptoService.IV;   
  50. int IVLength = bytTemp.Length;   
  51. if (sTemp.Length ﹥ IVLength)   
  52. sTemp = sTemp.Substring(0, IVLength);   
  53. else if (sTemp.Length ﹤ IVLength)   
  54. sTemp = sTemp.PadRight(IVLength, ' ');   
  55. return ASCIIEncoding.ASCII.GetBytes(sTemp);   
  56. }   
  57. /// ﹤summary﹥   
  58. /// ASP.NET數(shù)據(jù)加密之加密方法   
  59. /// ﹤/summary﹥   
  60. /// ﹤param name="Source"﹥待加密的串﹤/param﹥   
  61. /// ﹤returns﹥經(jīng)過(guò)加密的串﹤/returns﹥   
  62. public string Encrypto(string Source)   
  63. {   
  64. byte[] bytIn = UTF8Encoding.UTF8.GetBytes(Source);   
  65. MemoryStream ms = new MemoryStream();   
  66. mobjCryptoService.Key = GetLegalKey();   
  67. mobjCryptoService.IV = GetLegalIV();   
  68. ICryptoTransform encrypto = mobjCryptoService.CreateEncryptor();   
  69. CryptoStream cs = new CryptoStream(ms, encrypto, CryptoStreamMode.Write);   
  70. cs.Write(bytIn, 0, bytIn.Length);   
  71. cs.FlushFinalBlock();   
  72. ms.Close();   
  73. byte[] bytOut = ms.ToArray();   
  74. return Convert.ToBase64String(bytOut);   
  75. }   
  76. /// ﹤summary﹥   
  77. /// ASP.NET數(shù)據(jù)加密之解密方法   
  78. /// ﹤/summary﹥   
  79. /// ﹤param name="Source"﹥待解密的串﹤/param﹥   
  80. /// ﹤returns﹥經(jīng)過(guò)解密的串﹤/returns﹥   
  81. public string Decrypto(string Source)   
  82. {   
  83. byte[] bytIn = Convert.FromBase64String(Source);   
  84. MemoryStream ms = new MemoryStream(bytIn, 0, bytIn.Length);   
  85. mobjCryptoService.Key = GetLegalKey();   
  86. mobjCryptoService.IV = GetLegalIV();   
  87. ICryptoTransform encrypto = mobjCryptoService.CreateDecryptor();   
  88. CryptoStream cs = new CryptoStream(ms, encrypto, CryptoStreamMode.Read);   
  89. StreamReader sr = new StreamReader(cs);   
  90. return sr.ReadToEnd();   
  91. }   
  92. }   
  93. }  

對(duì)稱加密算法實(shí)現(xiàn)ASP.NET數(shù)據(jù)加密的相關(guān)內(nèi)容就向你介紹到這里,希望通過(guò)介紹是你對(duì)對(duì)稱加密算法實(shí)現(xiàn)ASP.NET數(shù)據(jù)加密有所了解。

【編輯推薦】

  1. ASP.NET數(shù)據(jù)緩存機(jī)制淺析
  2. ASP.NET數(shù)據(jù)緩存之?dāng)?shù)據(jù)緩存淺談
  3. ASP.NET數(shù)據(jù)采集的實(shí)現(xiàn)淺析
  4. ASP.NET數(shù)據(jù)訪問(wèn)層SqlHelperSqlHelper的使用
  5. 哈希算法實(shí)現(xiàn)ASP.NET數(shù)據(jù)加密
責(zé)任編輯:仲衡 來(lái)源: 酷網(wǎng)學(xué)院
相關(guān)推薦

2009-08-13 18:12:11

C#數(shù)據(jù)加密

2009-08-04 10:57:44

ASP.NET數(shù)據(jù)加密哈希算法

2024-12-31 08:00:00

SpringBoot開發(fā)加密

2023-07-30 17:44:24

CryptoJS加密字符串

2010-07-28 10:09:01

2018-07-10 10:29:27

2023-08-01 07:24:05

2020-05-27 10:10:56

對(duì)稱加密Hash算法數(shù)字簽名

2012-09-13 09:58:38

2009-07-24 09:02:24

ASP.Net RSA

2023-10-16 19:05:20

2019-08-02 10:43:57

2021-11-22 23:20:01

加密算法架構(gòu)

2010-01-14 14:56:07

2011-06-28 14:30:48

Asp.net

2020-05-08 11:13:28

Python數(shù)據(jù)技術(shù)

2023-08-02 07:27:53

2009-10-26 14:18:46

2009-08-21 15:02:31

C#加密算法

2011-08-18 12:12:29

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)