Как MySQL знает, какой алгоритм использовать при чтении логинов, хранящихся в mysql.user? - PullRequest
1 голос
/ 25 октября 2011

Я вижу, что MySQL 5.5 позволяет использовать SHA-2 () для установки паролей, и что прямые хеши MD5 небезопасны и больше не должны использоваться (то же самое для функции ПАРОЛЯ по умолчанию).

Перед тем, как я ОБНОВЛЕНА доволен и изменил несколько паролей, как MySQL узнает, какой алгоритм использовать для проверки предоставленного мной пароля? Знает ли он магически, какой алгоритм использовался для шифрования пароля пользователя, или мы указываем это в файле conf?

UPDATE: Я проверил с новой учетной записью, чтобы увидеть, что происходит. Использование PASSWORD ('mypass') работает, однако применение SHA1 ('mypass') приводит к тому, что эта учетная запись не может войти в систему.

1 Ответ

1 голос
/ 25 октября 2011

Вероятно, по длине хеша, хранящегося в таблице. Хеш MD5 будет 128 бит, хеш SHA1 будет 160 бит, а хеш SHA2 будет не менее 224 бит.

...