NullCipher
действительно полезен для тестирования. Например, его можно использовать для реализации набора шифров TLS_RSA_PSK_WITH_NULL_SHA
, который имеет аналогичное назначение. Таким образом, вы оставили бы весь код там - включая генерацию IV, Cipher
экземпляров и т. Д., Но просто отключили шифрование и конфиденциальность, оставив остальное - разбор записи, рукопожатие, аутентификацию объекта и целостность сообщения - без изменений.
Таким способом можно обнаружить ошибки передачи или промежуточного кодирования / декодирования. Если открытый текст не выживает с NullCipher
, то проблема явно не в расшифровке. Однако помните, что размер блока в 1 байт может скрывать ошибки для шифров, где размер блока составляет 8 байт (3DES) или 16 байт (AES). Другими словами, NullCipher
действует как потоковый шифр. Это неудивительно: в конце концов он просто возвращает открытый текст - блоки не требуются.
Следует позаботиться о том, чтобы такая функциональность была удалена, отключена или, по крайней мере, не включена по умолчанию для не -дебаг строит. Обратите внимание, что NullCipher
все равно создаст копию данных. Поэтому я бы не использовал бы его для реализации выбора между шифрованием / не шифрованием в сборках выпуска.