Използвам AES за криптиране и CRC за проверка на целостта на данните и имам впечатлението, че проверката на CRC е излишна в моя случай. Правя следното:
Шифроване:
- Вземете данните за полезния товар и изчислете CRC от тях
- Шифроване на полезни данни плюс CRC
Дешифриране:
- Декриптиране на данни
- Изчислете нов CRC на данни за полезен товар и го сравнете със стария CRC
Исках да провокирам неуспешна проверка на CRC в моя модулен тест, но когато манипулирам данните за полезния товар, дешифрирането винаги хвърля BadPaddingException.
Въпросът ми е: Ако декриптирането винаги хвърля това изключение, когато данните са повредени или манипулирани (ще стане ли?), не е ли CRC проверката излишна по начина, по който я използвам?