Code mã hóa:

// Mã hóa chuỗi AES
public static string AES_Encrypt_String(string input, string password)
{
    var AES = new RijndaelManaged();
    var Hash_AES = new MD5CryptoServiceProvider();
    string encrypted = string.Empty;
    if (input.Length != 0)
    {
        try
        {
            var hash = new byte[32];
            var temp = Hash_AES.ComputeHash(Encoding.UTF8.GetBytes(password));
            Array.Copy(temp, 0, hash, 0, 16);
            Array.Copy(temp, 0, hash, 15, 16);
            AES.Key = hash;
            AES.Mode = CipherMode.ECB;
            AES.Padding = PaddingMode.PKCS7;
            ICryptoTransform AESEncrypter = AES.CreateEncryptor();
            var Buffer = Encoding.UTF8.GetBytes(input);
            encrypted = Convert.ToBase64String(AESEncrypter.TransformFinalBlock(Buffer, 0, Buffer.Length));
         }
         catch (Exception ex)
         {
                    MessageBox.Show(ex.Message);
         }
    }
    return encrypted;
}

Code giải mã:

// Giải mã chuỗi AES
public static string AES_Decrypt_String(string input, string password)
{
    var AES = new RijndaelManaged();
    var Hash_AES = new MD5CryptoServiceProvider();
    string decrypted = string.Empty;
    if (input.Length != 0)
    {
        try
        {
            var hash = new byte[32];
            var temp = Hash_AES.ComputeHash(Encoding.UTF8.GetBytes(password));
            Array.Copy(temp, 0, hash, 0, 16);
            Array.Copy(temp, 0, hash, 15, 16);
            AES.Key = hash;
            AES.Mode = CipherMode.ECB;
            AES.Padding = PaddingMode.PKCS7;
            ICryptoTransform AESDecrypter = AES.CreateDecryptor();
            var Buffer = Convert.FromBase64String(input);
            decrypted = Encoding.UTF8.GetString(AESDecrypter.TransformFinalBlock(Buffer, 0, Buffer.Length));
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
        }
    }
    return decrypted;
}

Loading

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *