AES CBC PKCS7 C# C++

匿名 (未验证) 提交于 2019-12-02 22:06:11

https://blog.csdn.net/csdn49532/article/details/50686222

c#:https://gitee.com/koastal/codes/659traqginxjoskd8pylc27

        public static string Encrypt(string toEncrypt, string key, string iv)         {             byte[] keyArray = UTF8Encoding.UTF8.GetBytes(key);             byte[] ivArray = UTF8Encoding.UTF8.GetBytes(iv);             byte[] toEncryptArray = UTF8Encoding.UTF8.GetBytes(toEncrypt);              RijndaelManaged rDel = new RijndaelManaged();             rDel.Key = keyArray;             rDel.IV = ivArray;             rDel.Mode = CipherMode.CBC;             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, string key, string iv)         {             byte[] keyArray = UTF8Encoding.UTF8.GetBytes(key);             byte[] ivArray = UTF8Encoding.UTF8.GetBytes(iv);             byte[] toEncryptArray = Convert.FromBase64String(toDecrypt);              RijndaelManaged rDel = new RijndaelManaged();             rDel.Key = keyArray;             rDel.IV = ivArray;             rDel.Mode = CipherMode.CBC;             rDel.Padding = PaddingMode.PKCS7;              ICryptoTransform cTransform = rDel.CreateDecryptor();             byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);              return UTF8Encoding.UTF8.GetString(resultArray);         }

注意 key 和 iv 都需要为16位字符串

代码实现:https://1drv.ms/u/s!At1zJv3_16aCmb8AisvHmvDyEcFQLw

文章来源: AES CBC PKCS7 C# C++
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!