在WP8上解密AES 128位RijndaelManaged
本文关键字:128位 RijndaelManaged AES 解密 WP8 | 更新日期: 2023-09-27 17:51:23
这段代码有点问题。
var symmetricKey = new RijndaelManaged { Mode = CipherMode.CBC, IV = iv, KeySize = 128, Key = keyBytes, Padding = PaddingMode.Zeros };
using (var decryptor = symmetricKey.CreateDecryptor())
using (var ms = new MemoryStream(cipherTextBytes))
using (var cs = new CryptoStream(ms, decryptor, CryptoStreamMode.Read))
{
var plainTextBytes = new byte[cipherTextBytes.Length];
int decryptedByteCount = cs.Read(plainTextBytes, 0, plainTextBytes.Length);
return Encoding.UTF8.GetString(plainTextBytes, 0, decryptedByteCount);
}
问题在这里:
var symmetricKey = new RijndaelManaged { Mode = CipherMode.CBC, IV = iv,
KeySize = 128, Key = keyBytes,
Padding = PaddingMode.Zeros };
因为即使我包含了System.Security.Cryptography
,它也找不到RijndaelManaed
。上面写着:
"命名空间未找到。可能使用汇编引用"
"
事实上,当我添加using System.Security.Cryptography
时,只有选项可用:
- Pkcs
- x509certificate Xml>
我需要使用System.Security.Cryptography.RijndaelManaged
看来。net for Windows Store Apps根本没有System.Security.Cryptography.RijndaelManaged
。
Windows.Security.Cryptography
命名空间只有一个类:CryptographicBuffer
。
您必须使用SymmetricKeyAlgorithmProvider.OpenAlgorithm
来选择对称加密算法。在这里,您将找到WinRT上所有对称算法支持的列表。