gpt4 book ai didi

c# - Universal Windows Platform (UWP) 中的加密/解密有数据错误(循环冗余校验)

转载 作者:行者123 更新时间:2023-11-30 16:04:25 24 4
gpt4 key购买 nike

我在我的通用 Windows 平台 (UWP) 应用程序中使用 DES 加密/解密算法。数据加密工作正常但解密有错误:

这是我的代码:

private static byte[] IV = { 12, 11, 12, 55, 0, 108, 121, 54 };
private static string stringKey = "SA/DF@#asx.";
private static BinaryStringEncoding encoding;
private static byte[] keyByte;
private static SymmetricKeyAlgorithmProvider objAlg;
private static CryptographicKey Key;

加密:

public static string Encrypt(String strMsg)
{
IBuffer buffMsg = CryptographicBuffer.ConvertStringToBinary(strMsg,encoding);
IBuffer buffEncrypt = CryptographicEngine.Encrypt(Key, buffMsg, IV.AsBuffer());
return CryptographicBuffer.EncodeToBase64String(buffEncrypt);
}

解密:

public static string Decrypt(String strMsg)
{
var bb = CryptographicBuffer.ConvertStringToBinary(strMsg, encoding);
IBuffer buffEncrypt = CryptographicEngine.Decrypt(Key, bb, IV.AsBuffer());
return CryptographicBuffer.EncodeToBase64String(buffEncrypt);
}

解密有这个错误:

Data error (cyclic redundancy check). (Exception from HRESULT: 0x80070017)

怎么了?

最佳答案

只看代码,似乎您将加密结果(通常是二进制 blob 转换为 Base64 字符串,这很好)。但是,当你解密时,你并没有完全取消 Base64 编码,而是将其视为二进制 blob,难怪解码会失败。

关于c# - Universal Windows Platform (UWP) 中的加密/解密有数据错误(循环冗余校验),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35013625/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com