Как хешировать пароли в mysql для совместимости с весенней безопасностью - PullRequest
0 голосов
/ 10 июля 2019

Я загружаю много профилей пользователей одновременно. Я генерирую SQL-скрипт для базы данных mysql, используя функцию password(). Но это не делает это. Сгенерированный пароль - это не тот пароль, который был сгенерирован в форме весенней загрузки.

Это для сервера MySQL 5.7.26, работающего на Linux 4.15.0-54 и Java 8

например, для строки пароля 'test0000', пароль, сгенерированный пружиной безопасности: 5f7433f76544679849ec917c3baa70e0852b3d025fb52ecb7839c6fe911f75c49b3b2315aa3589c но с функцией пароля ('test0000') в mysql это дает: *FED47FB319BAC61E726825628D8A5D22979E9F1C

Так как сгенерировать Springboot как пароль на MySQL или в командной строке в Linux?

1 Ответ

0 голосов
/ 10 июля 2019

Функция MySQL password() использует SHA1(SHA1(password)) для вычисления хэша.

Spring Security использует интерфейс PasswordEncoder для encode и match и имеет различные реализации, доступные для обработки BCrypt, MD5, SHA256 и т. Д.

Итак, чтобы пароли былисовместимый на обоих концах, вам нужно использовать один и тот же алгоритм.

Поскольку алгоритмы хеширования медленные, не рекомендуется использовать их в SQL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...