首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >解密时的CryptographicException

解密时的CryptographicException
EN

Stack Overflow用户
提问于 2009-10-02 10:07:09
回答 1查看 287关注 0票数 0

只是想确认一下我对CryptographicException解密的看法。我有一些测试,就是密码错误的那个。这个测试抛出

代码语言:javascript
复制
System.Security.Cryptography.CryptographicException: Padding is invalid and cannot be removed.

我在找会导致这一切的原因。然而,我什么也找不到。这导致我得出结论,一旦我使用错误的passphraze进行解密,我就会得到这个错误。

我说的对吗?

感谢您的评论。干杯X。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-10-02 11:04:09

当使用填充并且密钥和IV不正确时,在要删除填充的点上解密将失败。这是因为在所有的可能性中,填充的字节不符合所选的PaddingMode。这是一个很小的机会,然后解密仍然可以没有错误地通过,但结果将是乱码。

但是,如果使用PaddingMode.None,那么您仍然可以无错误地解密数据(假设明文的长度是块大小的倍数),但是数据将再次被篡改。

结论:你不能依赖这样一个事实,如果使用了错误的密钥,你就会得到一个异常。您必须检查生成的数据。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1508705

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档