DES暗号化/復号化

1  ///  <まとめ> 
2          /// DES暗号化(データ暗号化標準、高速、データ暗号化の大きなコレクションに適している)
 。3          ///  </要約> 
4          ///  <PARAM NAME = "encryptString"> 暗号文を暗号化する</ param>の
5          ///  ます。<param name = "encryptkey"> 暗号化キーを</ param>の
6          ///  <戻り値> を返します。</戻り値> 
。7          のパブリック 静的な 文字列 DESENCRYPT(文字列 encryptString、ストリングencryptkey)
 8          {
 9              IFストリング。
IsNullOrEmpty(EncryptString)) 10             {
 11                  EncryptString = ConfigurationHelper.GetArasDatabaseName()。
12              }
 13  
14              であれば文字列!.IsNullOrEmpty(EncryptKey)|| EncryptKey.Length = 8 15              {
 16                  EncryptKey = " ArasInnovator " 17              }
 18              バイト [] m_btIV = { 0x12を0x34の0x560x78と0x90を0xAB0xCD0xEFという}。
19              文字列 m_strEncrypt = "" ;
20              DESCryptoServiceProvider m_DESProvider = 新しいDESCryptoServiceProvider()。
21  
22              試みる
23              {
 24                  バイト [] m_btEncryptString = Encoding.Default.GetBytes(EncryptString)。
25                  のMemoryStream m_stream = 新規のMemoryStream()。
26                  CryptoStream m_cstream = 新しいCryptoStream(m_stream、m_DESProvider.CreateEncryptor(Encoding.Default.GetBytes(EncryptKey)、m_btIV)、CryptoStreamMode.Write)。
27                 m_cstream.Write(m_btEncryptString、0 、m_btEncryptString.Length)。
28                  m_cstream.FlushFinalBlock()。
29                  m_strEncrypt = Convert.ToBase64String(m_stream.ToArray())。
30                  m_stream.Close()。m_stream.Dispose();
31                  m_cstream.Close()。m_cstream.Dispose();
32              }
 33              キャッチ(のIOExceptionのEX){ スローEX。}
 34              キャッチ(CryptographicExceptionのEX){ スローEX。}
 35              キャッチ(ArgumentExceptionがのEX){ スローEXと、}
36              キャッチ(例外例){ スローEXと、}
 37              最後に{m_DESProvider.Clear()。}
 38  
39              リターンm_strEncrypt。
40          }

 

1  ///  <まとめ> 
2          /// DES復号(データ暗号化の大きなコレクションに適した高速データ暗号化規格)
 。3          ///  </要約> 
4          ///  <PARAM NAME = "DecryptString"> 暗号文解読される</ param>の
5          ///  ます。<param name = "decryptKey"> 解読するためのキー</ param>のを
。6          ///  <戻り値> を返します。</戻り値> 
。7          のパブリック 静的な 文字列 DESDECRYPT(文字列 DecryptString、ストリングdecryptKey)
 8          {
 9              IFストリング。
IsNullOrEmpty(DecryptString)) 10             {
 11                  DecryptString = ConfigurationHelper.GetArasDatabaseName()。
12              }
 13  
14              であればストリング .IsNullOrEmpty(DecryptKey)|| DecryptKey.Length =!8 15              {
 16                  DecryptKey = " ArasInnovator " 17              }
 18  
19              バイト [] m_btIV = { 0x12を0x34の0x560x78と0x90を0xAB0xCD0xEFという}。
20              文字列 m_strDecrypt = "" ;
21              DESCryptoServiceProvider m_DESProvider = 新しいDESCryptoServiceProvider()。
22  
23              試みる
24              {
 25                  バイト [] m_btDecryptString = Convert.FromBase64String(DecryptString)。
26                  のMemoryStream m_stream = 新規のMemoryStream()。
27                  CryptoStream m_cstream = 新しいCryptoStream(m_stream、m_DESProvider.CreateDecryptor(Encoding.Default.GetBytes(DecryptKey)、m_btIV)、CryptoStreamMode.Write)。
28                 m_cstream.Write(m_btDecryptString、0 、m_btDecryptString.Length)。
29                  m_cstream.FlushFinalBlock()。
30                  m_strDecrypt = Encoding.Default.GetString(m_stream.ToArray())。
31                  m_stream.Close()。m_stream.Dispose();
32                  m_cstream.Close()。m_cstream.Dispose();
33              }
 34  
35              キャッチ(のIOExceptionのEX){}
 36              キャッチ(CryptographicExceptionのEX){}
 37              キャッチ(ArgumentExceptionがEX){}
 38              キャッチ(例外例){}
 39             最後に{m_DESProvider.Clear()。}
 40  
41              リターンm_strDecrypt。
42          }

 

おすすめ

転載: www.cnblogs.com/61007257Steven/p/10953410.html