123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- using System.Linq;
- using System.Text;
- using System.Security.Cryptography;
- namespace HKCarPlateRecognize_App
- {
- public class AesHelper
- {
- public static string EncodeAES(string text, string key)
- {
- byte[] keyArray = null;
- using (var sha1 = new SHA1CryptoServiceProvider())
- {
- byte[] hash = sha1.ComputeHash(Encoding.UTF8.GetBytes(key));
- var rd = sha1.ComputeHash(hash);
- keyArray = rd.Take(16).ToArray();
- }
- RijndaelManaged rijndaelCipher = new RijndaelManaged();
- rijndaelCipher.Mode = CipherMode.ECB;
- rijndaelCipher.Padding = PaddingMode.PKCS7;
- rijndaelCipher.KeySize = 128;
- rijndaelCipher.Key = keyArray;
- ICryptoTransform transform = rijndaelCipher.CreateEncryptor();
- byte[] plainText = Encoding.UTF8.GetBytes(text);
- byte[] cipherBytes = transform.TransformFinalBlock(plainText, 0, plainText.Length);
- return ByteUtil.BytesToHexString(cipherBytes);
- }
- public static string DecodeAES(string ciphertext, string key)
- {
- byte[] keyArray = null;
- using (var sha1 = new SHA1CryptoServiceProvider())
- {
- byte[] hash = sha1.ComputeHash(Encoding.UTF8.GetBytes(key));
- var rd = sha1.ComputeHash(hash);
- keyArray = rd.Take(16).ToArray();
- }
- byte[] text = ByteUtil.HexStringToBytes(ciphertext);
- RijndaelManaged rijndaelCipher = new RijndaelManaged();
- rijndaelCipher.Mode = CipherMode.ECB;
- rijndaelCipher.Padding = PaddingMode.PKCS7;
- rijndaelCipher.KeySize = 128;
- rijndaelCipher.BlockSize = 128;
- byte[] encryptedData = text;
- rijndaelCipher.Key = keyArray;
- ICryptoTransform transform = rijndaelCipher.CreateDecryptor();
- byte[] plainText = transform.TransformFinalBlock(encryptedData, 0, encryptedData.Length);
- return Encoding.UTF8.GetString(plainText);
- }
- }
- }
|