ASP.NET データ暗号化を実現する対称暗号化アルゴリズム

ASP.NET データ暗号化を実現する対称暗号化アルゴリズム

対称暗号化アルゴリズムはどのようにして ASP.NET データ暗号化を実装するのでしょうか?それでは、以下で詳しく説明します。

以下は、対称暗号化アルゴリズムの ASP.NET データ暗号化コードの C# 実装です。必要に応じて、さまざまなアルゴリズムを変更できます。この記事では、Rijndael アルゴリズムを例として使用します。

  1.  
  2. システムの使用;
  3. System.IOを使用します
  4. System.Security.Cryptographyを使用します
  5. System.Textを使用します
  6.  
  7. 名前空間DataCrypto
  8. {
  9. /// ﹤要約﹥  
  10. /// ASP.NET データ暗号化対称暗号化アルゴリズム クラス 
  11. /// ﹤/要約﹥  
  12. 公共 クラスSymmetricMethod
  13. {
  14.  
  15. プライベートSymmetricAlgorithm mobjCryptoService;
  16. プライベート 文字列キー;
  17. /// ﹤要約﹥  
  18. /// ASP.NET データ暗号化対称暗号化クラス コンストラクター 
  19. /// ﹤/要約﹥  
  20. パブリック対称メソッド()
  21. {
  22. mobjCryptoService =新しいRijndaelManaged();
  23. キー = "Guz(%&hj7x89H$yuBI0456FtmaT5&fvHUFCy76*h%(HilJ$lhj!y6&(*jkP87jH7" ;
  24. }
  25. /// ﹤要約﹥  
  26. ///ASP.NETデータ暗号化でキーを取得する 
  27. /// ﹤/要約﹥  
  28. /// ﹤returns﹥Key﹤/returns﹥  
  29. プライベート バイト[] GetLegalKey()
  30. {
  31. 文字列sTemp = キー;
  32. mobjCryptoService.GenerateKey();
  33. バイト[] bytTemp = mobjCryptoService.Key;
  34. intキーの長さ = bytTemp.Length;
  35. if (sTemp.Length > KeyLength)
  36. sTemp = sTemp.Substring(0, キーの長さ);
  37. それ以外  if (sTemp.Length ﹤ KeyLength)
  38. sTemp = sTemp.PadRight(キーの長さ、 ' ' );
  39. ASCIIEncoding.ASCII.GetBytes(sTemp)を返します
  40. }
  41. /// ﹤要約﹥  
  42. /// ASP.NET データ暗号化により初期ベクトル IV を取得 
  43. /// ﹤/要約﹥  
  44. /// ﹤returns﹥初期テストベクトルIV﹤/returns﹥  
  45. プライベート バイト[] GetLegalIV()
  46. {
  47. 文字列sTemp = "E4ghj*Ghg7!rNIfb&95GUY86GfghUb#er57HBh(u%g6HJ($jhWk7&!hg4ui%$hjk" ;
  48. mobjCryptoService.GenerateIV();
  49. バイト[] bytTemp = mobjCryptoService.IV;
  50. int IVLength = bytTemp.Length;
  51. (sTemp.Length > IVLength)の場合
  52. sTemp = sTemp.Substring(0, IVLength);
  53. それ以外  (sTemp.Length < IVLength)の場合
  54. sTemp = sTemp.PadRight(IVLength, ' ' );
  55. ASCIIEncoding.ASCII.GetBytes(sTemp)を返します
  56. }
  57. /// ﹤要約﹥  
  58. /// ASP.NET データ暗号化の暗号化方式 
  59. /// ﹤/要約﹥  
  60. /// ﹤param name="Source"﹥暗号化する文字列﹤/param﹥  
  61. /// ﹤returns﹥暗号化された文字列﹤/returns﹥  
  62. 公共 文字列暗号化(文字列ソース)
  63. {
  64. バイト[] bytIn = UTF8Encoding.UTF8.GetBytes(ソース);
  65. メモリストリーム ms =新しいメモリストリーム();
  66. mobjCryptoService.Key = GetLegalKey();
  67. mobjCryptoService.IV = GetLegalIV();
  68. ICryptoTransform の暗号化 = mobjCryptoService.CreateEncryptor();
  69. CryptoStream cs =新しいCryptoStream(ms, encrypto, CryptoStreamMode.Write);
  70. cs.Write(bytIn, 0, bytIn.Length);
  71. cs.FlushFinalBlock();
  72. ms.Close();
  73. バイト[] bytOut = ms.ToArray();
  74. Convert.ToBase64String(bytOut)を返します
  75. }
  76. /// ﹤要約﹥  
  77. /// ASP.NET データの暗号化と復号化の方法 
  78. /// ﹤/要約﹥  
  79. /// ﹤param name="Source"﹥復号化する文字列﹤/param﹥  
  80. /// ﹤戻り値﹥復号化された文字列﹤/戻り値﹥  
  81. 公共 文字列Decrypto(文字列Source)
  82. {
  83. バイト[] bytIn = Convert.FromBase64String(ソース);
  84. MemoryStream ms =新しいMemoryStream(bytIn, 0, bytIn.Length);
  85. mobjCryptoService.Key = GetLegalKey();
  86. mobjCryptoService.IV = GetLegalIV();
  87. ICryptoTransform 暗号化 = mobjCryptoService.CreateDecryptor();
  88. CryptoStream cs = new CryptoStream(ms, encrypto, CryptoStreamMode.Read);
  89. ストリームリーダー sr =新しいストリームリーダー (cs);
  90. sr.ReadToEnd()を返します
  91. }
  92. }
  93. }

これで、対称暗号化アルゴリズムを使用して ASP.NET データ暗号化を実装する方法の紹介は終わりです。この紹介を通じて、対称暗号化アルゴリズムを使用して ASP.NET データ暗号化を実装する方法について理解していただけたら幸いです。

<<:  SQL Server 2008 の 9 つのデータ マイニング アルゴリズム

>>:  ハッシュアルゴリズムを使用した ASP.NET データ暗号化

ブログ    
ブログ    
ブログ    

推薦する

不確実な環境で自動運転を実現するにはどうすればよいでしょうか?

この記事は、Heart of Autonomous Driving の公開アカウントから許可を得て転...

AIの恋人の唆しでエリザベス女王暗殺未遂の罪で懲役9年の判決を受けた男

10月9日、イギリスBBCの報道によると、2021年のクリスマスの日にクロスボウで武装した男がイギリ...

...

...

...

...

Baidu がモバイル検索ランキングアルゴリズムを調整し、アプリのランキング結果を改善

百度の関係者は、現在、携帯電話でPCのウェブサイトにアクセスした場合、最高の閲覧体験を得ることは難し...

デジタル時代のパフォーマンス管理:現実と未来

デジタルパフォーマンス管理の変革デジタル目標設定パフォーマンス計画は、企業の繁栄戦略と業務を結び付け...

調査レポート:世界のテクノロジー支出は2024年に5.3%増加して4.7兆ドルに達する

調査によると、2024年の世界のテクノロジー市場では期待できる出来事がたくさんあることが分かっていま...

AI が「長すぎて読めない」問題の解決を支援: 深層要約モデルの構築方法

過去数十年にわたり、私たちは情報に関する一連の根本的な変化と課題を経験してきました。今日、情報へのア...

...

...

ICRA 2022 優秀論文: 自動運転用 2D 画像を鳥瞰図に変換し、モデル認識精度を 15% 向上

自動運転における多くのタスクは、トップダウン、マップ、または鳥瞰図 (BEV) の観点から見ると、よ...

私の国の最新のトップ10のブラックテクノロジーが発表され、あなたの想像力を覆します

人工知能の急速な発展により、「ブラックテクノロジー」という言葉が人々の心に深く根付いている。目もくら...