AES256位加密

为了保证数据的安全性,特别是客户的账号密码,加密是非常重要的,今天就是想分享一下学习到的一个256位AES加密算法。
方法如下:

public static string Encrypt(string toEncrypt)
{
    // 256-AES key    
    byte[] keyArray = Encoding.UTF8.GetBytes(Key);
    byte[] toEncryptArray = Encoding.UTF8.GetBytes(toEncrypt);

    RijndaelManaged rDel = new RijndaelManaged();
    rDel.Key = keyArray;
    rDel.Mode = CipherMode.ECB;
    rDel.Padding = PaddingMode.PKCS7;

    ICryptoTransform cTransform = rDel.CreateEncryptor();
    byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);

    return Convert.ToBase64String(resultArray, 0, resultArray.Length);
}

对字段进行加密了之后,在数据库中看到的就是已经加密后的字段,原来的是看不到的了。
在这里插入图片描述
有加密自然就有一个相对应的解密方法。

public static string Decrypt(string toDecrypt)
{
    // 256-AES key    
    byte[] keyArray = UTF8Encoding.UTF8.GetBytes(Key);
    byte[] toEncryptArray = Convert.FromBase64String(toDecrypt);

    RijndaelManaged rDel = new RijndaelManaged();
    rDel.Key = keyArray;
    rDel.Mode = CipherMode.ECB;
    rDel.Padding = PaddingMode.PKCS7;

    ICryptoTransform cTransform = rDel.CreateDecryptor();
    byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);

    return UTF8Encoding.UTF8.GetString(resultArray);
}

以上,就是它的一个解密的方法。

猜你喜欢

转载自blog.csdn.net/weixin_44541076/article/details/92760271
今日推荐