Если идентификатор пользователя разделен на несколько блоков ECB, злоумышленник может «смешивать и сопоставлять» зашифрованные блоки, чтобы угадать пароли для идентификаторов пользователей, аналогичные их собственным.Например, если идентификатор пользователя был разделен на:
"user_123", "45" -> "ABCD", "EFGH"
"user_456", "78" -> "IJKL", "MNOP"
, то злоумышленник может предположить, что пароль ABCDMNOP
будет действительным для пользователя user_12378
.
Самое простое решениеэто не использовать AES-ECB.Используйте (с ключом) конструкцию HMAC для получения пароля из идентификатора пользователя;это безопасно, хотя и не позволяет определить идентификатор пользователя по паролю.(Что, вероятно, хорошо.)