Назад | Перейти на главную страницу

обновить пароли mysql до нового формата хэша, не зная исходных паролей

У меня есть пользователь, который обновил свой sql-коннектор до 6.6.5, но он не может запустить свой код из-за хеширования паролей в более старом формате (до 4.1?). Я хотел бы обновить все учетные записи mysql до более нового формата, к сожалению, я не знаю все пароли. Я недавно перешел на новый сервер (5.1.67), но я просто выполнил гранты для каждого пользователя и скопировал информацию на новый сервер.

Есть ли способ просто сказать ему обновить все хэши до нового формата без предоставления исходного пароля? Есть несколько систем, использующих код, который полагается на эти пароли (жестко запрограммированные), поэтому я не могу просто попросить пользователей очень легко сбросить свои пароли.

На CentOS 6.3 mysql 5.1.67

Быстрый ответ: НЕТ, вы не можете перефразировать существующее значение хеш-функции и при этом сохранить его исходное значение.

Хеш по определению - это кодировка "многие -> одна". Поскольку значение хеш-функции не может быть возвращено к исходному значению, невозможно повторно хеш-значение, чтобы исходное кодирование осталось неизменным.