public static string AesDecrypt(string input, string password, string salt)
{
string str;
byte[] buffer = Convert.FromBase64String(input);
byte[] buffer2 = Encoding.UTF8.GetBytes(salt);
using (AesManaged managed = new AesManaged())
{
Rfc2898DeriveBytes bytes = new Rfc2898DeriveBytes(password, buffer2);
managed.BlockSize = managed.LegalBlockSizes[0].MaxSize;
managed.KeySize = managed.LegalKeySizes[0].MaxSize;
managed.Key = bytes.GetBytes(managed.KeySize / 8);
managed.IV = bytes.GetBytes(managed.BlockSize / 8);
using (ICryptoTransform transform = managed.CreateDecryptor())
{
MemoryStream stream = new MemoryStream();
using (CryptoStream stream2 = new CryptoStream(stream, transform, CryptoStreamMode.Write))
{
stream2.Write(buffer, 0, buffer.Length);
}
byte[] buffer3 = stream.ToArray();
str = Encoding.UTF8.GetString(buffer3, 0, buffer3.Length);
}
}
return str;
}
uj5u.com熱心網友回復:
上面的代碼是一個C#函式,我要在C++中使用這段代碼來加密,但是直接復制到C++中是肯定不行,求高人修改一下轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/19147.html
標籤:C++ 語言
上一篇:面向物件程式設計
