AES復号アルゴリズム
5271 ワード
前言
多くの項目では、セキュリティに対する要求が高く、これは様々な暗号化、復号アルゴリズムに関連しており、一般的なアルゴリズムはMD 5暗号化、DES加解読、文字列加復号、AES加復号などがあります.次にAES加解読アルゴリズムを見てみましょう.
本文
AES(Advanced Ecryption Standard)は、Rijndel暗号化法とも言われ、米連邦政府が採用しているブロック暗号化の標準です.この標準はもとのDESに取って代わるために用いて、すでに多方面に分析されてしかも全世界のために使われました.AES暗号化アルゴリズムは速くて、大量のデータに適しています.3 DSに対して、速くて安全です.
AES暗号化アルゴリズム
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の暗号解読アルゴリズムは対称鍵暗号において最も人気のあるアルゴリズムの一つとなりました.皆様のご協力をお願いします.ありがとうございます.