AES復号アルゴリズム


前言
    多くの項目では、セキュリティに対する要求が高く、これは様々な暗号化、復号アルゴリズムに関連しており、一般的なアルゴリズムはMD 5暗号化、DES加解読、文字列加復号、AES加復号などがあります.次にAES加解読アルゴリズムを見てみましょう.
本文
     AES(Advanced Ecryption Standard)は、Rijndel暗号化法とも言われ、米連邦政府が採用しているブロック暗号化の標準です.この標準はもとのDESに取って代わるために用いて、すでに多方面に分析されてしかも全世界のために使われました.AES暗号化アルゴリズムは速くて、大量のデータに適しています.3 DSに対して、速くて安全です.
AES暗号化アルゴリズム
  //       
  private static byte[] _key1 = { 0x12, 0x34, 0x56, 0x78, 0x90, 0xAB, 0xCD, 0xEF, 0x12, 0x34, 0x56, 0x78, 0x90, 0xAB, 0xCD, 0xEF };
  //       ,   16   
  static string strKey = "dongbinhuiasxiny";//  ,128 
  /// 
  /// AES    
  /// 
  ///      
  ///   
  ///             
     public static byte[] AESEncrypt(string plainText, string strKey)
      {
         //      
         SymmetricAlgorithm des = Rijndael.Create();
         byte[] inputByteArray = Encoding.UTF8.GetBytes(plainText);//           
         //         
         des.Key = Encoding.UTF8.GetBytes(strKey);
         des.IV = _key1;
         MemoryStream ms = new MemoryStream();
         CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(), CryptoStreamMode.Write);
         cs.Write(inputByteArray, 0, inputByteArray.Length);
         cs.FlushFinalBlock();
         byte[] cipherBytes = ms.ToArray();//          
         cs.Close();
         ms.Close();
         return cipherBytes;
     }

AES解密算法

/// 
/// AES  
/// 
///       
///   
///          
public static byte[] AESDecrypt(byte[] cipherText, string strKey)
  {
     SymmetricAlgorithm des = Rijndael.Create();
     des.Key = Encoding.UTF8.GetBytes(strKey);
     des.IV = _key1;
     byte[] decryptBytes = new byte[cipherText.Length];
     MemoryStream ms = new MemoryStream(cipherText);
     CryptoStream cs = new CryptoStream(ms, des.CreateDecryptor(), CryptoStreamMode.Read);
     cs.Read(decryptBytes, 0, decryptBytes.Length);
     cs.Close();
     ms.Close();
     return decryptBytes;
 }
クライアントテスト
 //AES  
   string keys = "dongbinhuiasxiny";//  ,128    
   string s = "dfererfereerefregrgrgtrytrgrty5hrthyhthtyhttyhjutyjhtyjtyhvfrgtgdfgrtgrbrtyrt12323243455creffefdeddewdwdfwefwevdfvdcvdfgdgrtgdtfgdgref"; //      
    byte[] encryptBytes = Secret.AESEncrypt(s, keys);
    s = Convert.ToBase64String(encryptBytes);

 //AES  
    byte[] decryptBytes = Secret.AESDecrypt(encryptBytes, keys);
    //             ,               
    string result = Encoding.UTF8.GetString(decryptBytes); 
締め括りをつける
    AESの暗号解読アルゴリズムは対称鍵暗号において最も人気のあるアルゴリズムの一つとなりました.皆様のご協力をお願いします.ありがとうございます.