我使用 AES 进行加密,使用 CRC 来检查数据完整性,我的印象是 CRC 检查在我的情况下是多余的。我正在执行以下操作:
加密:
- 获取有效载荷数据并从中计算 CRC
- 加密有效载荷数据和 CRC
解密:
- 解密数据
- 计算有效载荷数据的新 CRC 并与旧 CRC 进行比较
我想在我的单元测试中引发 CRC 检查失败,但是当我操作有效负载数据时,解密总是会引发 BadPaddingException。
我的问题是:如果解密总是在数据被损坏或被操纵时抛出这个异常(会吗?)不是我使用它的方式冗余的 CRC 检查吗?