対称暗号化アルゴリズムはどのようにして ASP.NET データ暗号化を実装するのでしょうか?それでは、以下で詳しく説明します。 以下は、対称暗号化アルゴリズムの ASP.NET データ暗号化コードの C# 実装です。必要に応じて、さまざまなアルゴリズムを変更できます。この記事では、Rijndael アルゴリズムを例として使用します。 -
- システムの使用;
- System.IOを使用します。
- System.Security.Cryptographyを使用します。
- System.Textを使用します。
-
- 名前空間DataCrypto
- {
-
-
-
- 公共 クラスSymmetricMethod
- {
-
- プライベートSymmetricAlgorithm mobjCryptoService;
- プライベート 文字列キー;
-
-
-
- パブリック対称メソッド()
- {
- mobjCryptoService =新しいRijndaelManaged();
- キー = "Guz(%&hj7x89H$yuBI0456FtmaT5&fvHUFCy76*h%(HilJ$lhj!y6&(*jkP87jH7" ;
- }
-
-
-
-
- プライベート バイト[] GetLegalKey()
- {
- 文字列sTemp = キー;
- mobjCryptoService.GenerateKey();
- バイト[] bytTemp = mobjCryptoService.Key;
- intキーの長さ = bytTemp.Length;
- if (sTemp.Length > KeyLength)
- sTemp = sTemp.Substring(0, キーの長さ);
- それ以外 if (sTemp.Length ﹤ KeyLength)
- sTemp = sTemp.PadRight(キーの長さ、 ' ' );
- ASCIIEncoding.ASCII.GetBytes(sTemp)を返します。
- }
-
-
-
-
- プライベート バイト[] GetLegalIV()
- {
- 文字列sTemp = "E4ghj*Ghg7!rNIfb&95GUY86GfghUb#er57HBh(u%g6HJ($jhWk7&!hg4ui%$hjk" ;
- mobjCryptoService.GenerateIV();
- バイト[] bytTemp = mobjCryptoService.IV;
- int IVLength = bytTemp.Length;
- (sTemp.Length > IVLength)の場合
- sTemp = sTemp.Substring(0, IVLength);
- それ以外 (sTemp.Length < IVLength)の場合
- sTemp = sTemp.PadRight(IVLength, ' ' );
- ASCIIEncoding.ASCII.GetBytes(sTemp)を返します。
- }
-
-
-
-
-
- 公共 文字列暗号化(文字列ソース)
- {
- バイト[] bytIn = UTF8Encoding.UTF8.GetBytes(ソース);
- メモリストリーム ms =新しいメモリストリーム();
- mobjCryptoService.Key = GetLegalKey();
- mobjCryptoService.IV = GetLegalIV();
- ICryptoTransform の暗号化 = mobjCryptoService.CreateEncryptor();
- CryptoStream cs =新しいCryptoStream(ms, encrypto, CryptoStreamMode.Write);
- cs.Write(bytIn, 0, bytIn.Length);
- cs.FlushFinalBlock();
- ms.Close();
- バイト[] bytOut = ms.ToArray();
- Convert.ToBase64String(bytOut)を返します。
- }
-
-
-
-
-
- 公共 文字列Decrypto(文字列Source)
- {
- バイト[] bytIn = Convert.FromBase64String(ソース);
- MemoryStream ms =新しいMemoryStream(bytIn, 0, bytIn.Length);
- mobjCryptoService.Key = GetLegalKey();
- mobjCryptoService.IV = GetLegalIV();
- ICryptoTransform 暗号化 = mobjCryptoService.CreateDecryptor();
- CryptoStream cs = new CryptoStream(ms, encrypto, CryptoStreamMode.Read);
- ストリームリーダー sr =新しいストリームリーダー (cs);
- sr.ReadToEnd()を返します。
- }
- }
- }
これで、対称暗号化アルゴリズムを使用して ASP.NET データ暗号化を実装する方法の紹介は終わりです。この紹介を通じて、対称暗号化アルゴリズムを使用して ASP.NET データ暗号化を実装する方法について理解していただけたら幸いです。 |