2013-07-18 6 views
0

У меня возникли проблемы с переносом учетной записи пользователя электронной почты, которая сохраняется в MySQL на другой сервер. Вот деталь:Поле MySQL ENCRYPT для MD5

У меня есть старый почтовый сервер, который использует MySQL для хранения информации учетной записи пользователя. В поле пароля используется функция MySQL ENCRYPT для сохранения пароля пользователя. Так что, если я хочу изменить пароль пользователя можно сделать:

UPDATE `mail`.`users` SET `password` = ENCRYPT( '12345') WHERE CONVERT( `users`.`email` USING utf8) = '[email protected]' LIMIT 1 ; 

Тогда новый пароль «12345» сохраняются в таблице как строка «2I6JOeg.JukJ.»

Теперь я создаю новый сервер с помощью iRedMail. Когда я пытаюсь передать учетную запись пользователя, у меня возникли проблемы с передачей поля пароля. Поскольку iRadMail/dovecot использует MD5-CRAM для шифрования пароля, сохраните его в MySQL. Вся строка пароля начинается с «$ 1 $».

Итак, есть способ сделать зашифрованную строку пароля MySQL «2I6JOeg.JukJ». конвертировать в MD5 хэш «$ 1 $ .................»?

Спасибо за помощь.

ответ

1

Во-первых, MD5 является алгоритмом хэширования, а не алгоритмом шифрования. Основная причина этого заключается в том, что вычислять исходный пароль из хэш-значения, генерируемого MD5, практически невозможно. MD5 создает хеш-значение, и в основном это функция функции ловушки, другими словами, это односторонняя функция.

Шифрование позволит вам зашифровать и расшифровать, если вы знаете ключ. Большая разница. Надеюсь, вы это понимаете.

Теперь для вашей проблемы.

Если у вас нет первоначального пароля до того, как он был зашифрован, нет разумного способа помимо грубой силы создать эквивалент пароля MD5. Зашифрованный хеш паролей и неэкранированный/обычный текстовый пароль пароля будут два разных мнения.

Если вы можете расшифровать все пароли, которые у вас есть в их простой текстовой форме, вы можете выполнить хеширование MD5 на значения обычного текста. Если вы не можете получить оригинальный текст, вам не повезло.

 Смежные вопросы

  • Нет связанных вопросов^_^