解密期间的常见错误是“填充无效且无法删除”。
如果我要调试发送方正在使用的填充模式,如何访问最后一个块的内容(包括无效的填充)?
请参见下面的AesManaged的MSDN示例的略微修改版本:
using ( MemoryStream msDecrypt = new MemoryStream( cipherText ) )
{
using ( CryptoStream csDecrypt = new CryptoStream( msDecrypt, decryptor, CryptoStreamMode.Read ) )
{
using ( StreamReader srDecrypt = new StreamReader( csDecrypt ) )
{
try
{
plaintext = srDecrypt.ReadToEnd();
}
catch ( CryptographicException )
{
// ???
}
}
}
}
使用填充模式解密无(在您AesManaged
之前设置CreateDecryptor()
)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句