| | |
| | | return Convert.ToBase64String(resultArray, 0, resultArray.Length); |
| | | } |
| | | |
| | | // <summary> |
| | | /// Aes加密数据 |
| | | /// 采用128位(16字节)分组加密和解密数据,加密模式为CBC,偏移量(iv)和密钥一致,填充模式采用pkcs5或pkcs7,加密结果输出base64编码。 |
| | | /// </summary> |
| | | /// <returns>The encrypt.</returns> |
| | | /// <param name="bytes">P to encrypt.</param> |
| | | /// <param name="key">Key.</param> |
| | | public static byte []AesEncryptBytes(byte[] bytes, string key) |
| | | { |
| | | if (bytes == null) |
| | | return null; |
| | | |
| | | //配置AES加密Key(密钥、向量、模式、填充) |
| | | var rm = new RijndaelManaged |
| | | { |
| | | Key = Encoding.UTF8.GetBytes(key), |
| | | IV = Encoding.UTF8.GetBytes(key), |
| | | Mode = CipherMode.CBC, |
| | | Padding = PaddingMode.PKCS7 |
| | | }; |
| | | |
| | | //创建AES加密器对象 |
| | | var cTransform = rm.CreateEncryptor(); |
| | | |
| | | //使用AES将明文流转成密文字节数组 |
| | | return cTransform.TransformFinalBlock(bytes, 0, bytes.Length); |
| | | |
| | | //将AES生成的密文字节数组转成Base64字符串 |
| | | //return Convert.ToBase64String(resultArray, 0, resultArray.Length); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// Aes 解密数据 |
| | | /// </summary> |
| | | /// <returns>The decrypt.</returns> |
| | | /// <param name="pToDecrypt">P to decrypt.</param> |
| | | /// <param name="key">Key.</param> |
| | | public static byte []AesDecryptBytes(byte[] bytes, string key) |
| | | { |
| | | //AES密文Base64转成字符串 |
| | | var toEncryptArray = bytes;// Convert.FromBase64String(System.Text.Encoding.UTF8.GetString(bytes)); |
| | | |
| | | //配置AES加密Key(密钥、向量、模式、填充) |
| | | var rm = new RijndaelManaged |
| | | { |
| | | Key = Encoding.UTF8.GetBytes(key), |
| | | IV = Encoding.UTF8.GetBytes(key), |
| | | //Mode = CipherMode.ECB, |
| | | Mode = CipherMode.CBC, |
| | | Padding = PaddingMode.PKCS7 |
| | | }; |
| | | |
| | | //创建AES解密器对象 |
| | | var cTransform = rm.CreateDecryptor(); |
| | | |
| | | //使用AES将密文流转成明文的字节数组 |
| | | return cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length); |
| | | |
| | | //转成字符串 |
| | | //return Encoding.UTF8.GetString(resultArray); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// Aes 解密数据 |
| | | /// </summary> |