Я использую учебное пособие по настройке почтового сервера (его уже работает), и я также хочу использовать таблицу пользователей для входа на веб-сайт.Как проверить пароль хэширования mysql с солью
SQL, что учебник используется для создания учетной записи является:
INSERT INTO 'mailserver'.'virtual_users'
('id', 'domain_id', 'password' , 'email')
VALUES ('1', '1',
ENCRYPT('PASSWORD', CONCAT('$6$', SUBSTRING(SHA(RAND()), -16))),
'[email protected]');
Как я вижу это,
ENCRYPT ('PASSWORD', CONCAT ('$ 6 $', SUBSTRING (ША (RAND()), -16)))
Создает соленый хэш, не так ли? дело в том, что соль выглядит случайным, а не сохраненным значением.
Как я могу сравнить его с паролем, предоставленным пользователем?
Postfix не имеет никаких проблем в делать это, так как он работает, так что я должен быть что-то отсутствует
Функция ENCRYPT будет выдавать «соленый» строка с префиксом самой соли, так при подаче обратно зашифрованный пароль будет повторно подавать оригинальную соль. –
@MarkBaker, ох, я понятия не имел. Можете ли вы установить пример выбора, который проверяет правильность ответа? Таким образом, я могу дать вам полный ответ. – monxas