Windows 应用商店应用程序,加密,提供的用户缓冲区对于请求的操作无效

本文关键字:于请求 请求 无效 操作 缓冲区 用户 应用 应用程序 加密 Windows | 更新日期: 2023-09-27 18:31:36

我正在尝试实现一个简单的字符串加密。

我收到"提供的用户缓冲区对请求的操作无效"错误。我不知道实现中有什么问题。

下面是代码片段。

var keyHash = GetMD5Hash(key);
var toDecryptBuffer = CryptographicBuffer.ConvertStringToBinary(toEncrypt, BinaryStringEncoding.Utf8);
var aes = SymmetricKeyAlgorithmProvider.OpenAlgorithm(SymmetricAlgorithmNames.AesEcb);
var symetricKey = aes.CreateSymmetricKey(keyHash);
var buffEncrypted = CryptographicEngine.Encrypt(symetricKey, toDecryptBuffer, null);

'

Windows 应用商店应用程序,加密,提供的用户缓冲区对于请求的操作无效

toEncrypt 中的数据长度必须是算法块长度的倍数,除非您使用的是 PKCS7 填充,而您目前不是。您需要手动填充数据或使用 PKCS7 填充。

var aes = SymmetricKeyAlgorithmProvider.OpenAlgorithm(SymmetricAlgorithmNames.aesEcbPkcs7);