Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# AES/CBC/PKCS5P在windows应用商店应用程序中添加_C#_Windows_Cryptography_Windows 8.1 - Fatal编程技术网

C# AES/CBC/PKCS5P在windows应用商店应用程序中添加

C# AES/CBC/PKCS5P在windows应用商店应用程序中添加,c#,windows,cryptography,windows-8.1,C#,Windows,Cryptography,Windows 8.1,我正在windows 8.1中开发一个应用程序,我想对“AES/CBC/PKCS5P”中加密的图像进行解密 我使用了“SymmetricalGorthmNames.AESCBCCPKCS7”进行解密,但我得到一个错误“提供的用户缓冲区对于请求的操作无效。(HRESULT的异常:0x800706F8)” 请帮助我如何摆脱这个错误 如果我用一个样本检查正常图像,我使用“SymmetricalGorthmNames.aescbccpkcs7”使用我的方法进行加密和解密,它工作正常,但在服务器中使用“A

我正在windows 8.1中开发一个应用程序,我想对“AES/CBC/PKCS5P”中加密的图像进行解密

我使用了“SymmetricalGorthmNames.AESCBCCPKCS7”进行解密,但我得到一个错误“提供的用户缓冲区对于请求的操作无效。(HRESULT的异常:0x800706F8)”

请帮助我如何摆脱这个错误

如果我用一个样本检查正常图像,我使用“SymmetricalGorthmNames.aescbccpkcs7”使用我的方法进行加密和解密,它工作正常,但在服务器中使用“AES/CBC/PKCS5Padding”加密的图像没有正确解密

Uri dataUri = new Uri("ms-appx:///Assets/EncryptedImage.jpg");

StorageFile file = await StorageFile.GetFileFromApplicationUriAsync(dataUri);

string key = "123456";

IBuffer toDecryptBuffer = await FileIO.ReadBufferAsync(file)

SymmetricKeyAlgorithmProvider aesCbcPkcs7 =
    SymmetricKeyAlgorithmProvider.OpenAlgorithm(SymmetricAlgorithmNames.AesCbcPkcs7);

var keyHash = GetMD5Hash(key);

var symetricKey = aesCbcPkcs7.CreateSymmetricKey(keyHash);

IBuffer iv = CryptographicBuffer.GenerateRandom(aesCbcPkcs7.BlockLength);

IBuffer buffDecrypted = CryptographicEngine.Decrypt(symetricKey, toDecryptBuffer , iv);

StorageFolder local = Windows.Storage.ApplicationData.Current.LocalFolder;

var Newfile = await local.CreateFileAsync("Decrypted.jpg", CreationCollisionOption.ReplaceExisting);

await Windows.Storage.FileIO.WriteBufferAsync(Newfile, buffDecrypted);

AES/CBC/PKCS5Padding很奇怪,因为PKCS5使用8字节块,而AES使用16字节块,所以肯定发生了其他事情。就目前而言,您似乎是在用随机生成的IV解密?相反,你需要用原来的IV解密。嗨…我试了两天,但我没有得到,实际上我使用的是IV null。你认为这取决于静脉注射吗?我将IV设置为空,但仍然尝试了,它仍然会产生相同的错误。您知道关于在Windows 8.1应用商店应用程序中加密图像和解密图像的教程吗?