AesEncrypt AES加密方式
Posted lacey
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AesEncrypt AES加密方式相关的知识,希望对你有一定的参考价值。
//加密明文,加密秘钥,向量=默认1234567890123456
public static string AesEncrypt(string value, string key, string iv = "1234567890123456") { if (string.IsNullOrEmpty(value)) return string.Empty; if (key == null) throw new Exception("未将对象引用设置到对象的实例。"); if (key.Length < 16) throw new Exception("指定的密钥长度不能少于16位。"); if (key.Length > 32) throw new Exception("指定的密钥长度不能多于32位。"); if (key.Length != 16 && key.Length != 24 && key.Length != 32) throw new Exception("指定的密钥长度不明确。"); if (!string.IsNullOrEmpty(iv)) { if (iv.Length < 16) throw new Exception("指定的向量长度不能少于16位。"); } var _keyByte = Encoding.UTF8.GetBytes(key); var _valueByte = Encoding.UTF8.GetBytes(value); using (var aes = new RijndaelManaged()) { aes.IV = !string.IsNullOrEmpty(iv) ? Encoding.UTF8.GetBytes(iv) : Encoding.UTF8.GetBytes(key.Substring(0, 16)); aes.Key = _keyByte; aes.Mode = CipherMode.CBC;//算法模式 aes.Padding = PaddingMode.PKCS7;//填充 var cryptoTransform = aes.CreateEncryptor(); var resultArray = cryptoTransform.TransformFinalBlock(_valueByte, 0, _valueByte.Length); return Convert.ToBase64String(resultArray, 0, resultArray.Length); } }
以上是关于AesEncrypt AES加密方式的主要内容,如果未能解决你的问题,请参考以下文章