У меня проблема с шифрованием, и мне нужны рекомендации.
Я использую шифрование AES (Rijndael) для шифрования и расшифровки паролей пользователей, ответов на секретные вопросы и номеров PIN. Эти зашифрованные значения затем помещаются в базу данных, где поля определены как bin (16), bin (32) и bin (64). Первоначально я использовал настраиваемое заполнение, чтобы обеспечить длину данных, но по соображениям безопасности я перехожу на заполнение PKCS7. К сожалению, это изменение сделало длину зашифрованной строки непредсказуемой, по крайней мере, для пароля и ответов на секретный вопрос. Например, допустимые пароли могут иметь длину 16 или 32 байта при шифровании, а ответы безопасности могут иметь длину 16, 32 или 64 байта при шифровании. Я знаю, что такое размер блока и как он работает, но даже используя размер блока 32 байта (самый большой доступный размер блока), я все еще не могу контролировать длину ответа безопасности (это может быть 32 ИЛИ 64 байта).
Есть ли способ заставить мои зашифрованные строки иметь определенную длину, все еще используя заполнение AES и PCKS7, без добавления ограничений на ввод?