|

楼主 |
发表于 2022-4-10 20:14:45
|
显示全部楼层
using System;
using System.Security.Cryptography;
using System.Text;
using System.IO;
namespace GraduationDesign
{
class AESEncryption
{
private static byte[] _key1 = { 0x12, 0x34, 0x56, 0x78, 0x90, 0xAB, 0xCD, 0xEF, 0x12, 0x34, 0x56, 0x78, 0x90, 0xAB, 0xCD, 0xEF };
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;
}
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;
}
}
class Program
{
static void Main(string[] args)
{
string text = "AES算法加密";
string keys = "dongbinhuiasxiny";
byte[] encryptBytes = AESEncryption.AESEncrypt(text, keys);
Console.WriteLine("明文:" + text);
Console.WriteLine("密文:" + Convert.ToBase64String(encryptBytes));
byte[] decryptBytes = AESEncryption.AESDecrypt(encryptBytes, keys);
string result = Encoding.UTF8.GetString(decryptBytes);
Console.WriteLine("解密结果:" + result);
Console.Read();
}
}
} |
|