[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Помогите с алгоритмами шифрования md5
spamoney
Всем Добрый Вечер!
Помогите, пожалуйста, разобраться с одним вопросом:
Переношу пользователей с одного проекта на другой, всё бы ничего, да на старом проекте алгоритм шифрования паролей используются:

md5(md5('Пароль'));


на новом же:

md5(md5('Сальт').(md5('Пароль')));


Возможно ли перенести пароли пользователей с одного проекта на другой?

т.е, предположим, если бы на старом проекте алгоритм шифрования был таким:

md5('Пароль');


Можно было бы сделать таким образом:



1. Получаем старый пароль
SELECT old_password FROM `old_project_table`

2. Преобразовываем старый пароль в новый
INSERT INTO `new_project_table` (salt, new_password) VALUES ('Случайный сальт', ''.md5(md5('Случайный сальт').(old_password)).'')


А вот каким образом сделать с md5(md5()); не знаю....



Спустя 11 минут, 55 секунд (20.11.2009 - 16:02) waldicom написал(а):
Уточню на всякий случай, что md5() хеширует, а не шифрует. Следовательно получить пароли нельзя.
Но так как предполагается хешировать пароли с помощью salt, то все равно все пароли изменятся, так? Если так, то смысл вопроса я не понял.
Поточнее объяснить бы.

Спустя 5 минут, 5 секунд (20.11.2009 - 16:07) twin написал(а):
Единственный способ - альтернативная проверка. Но это ооочень не айс.

Спустя 1 час, 16 секунд (20.11.2009 - 17:07) spamoney написал(а):
Так еще раз поточнее предположим пароль пользователя - 123, на старом проекте при входе пользователя пароль хронится в БД в захэшированном виде проверяется так md5(md5('123')), на новом проверяться и храниться будет уже так md5(md5('Сальт').(md5('Пароль'))), необходимо перенести пароли из проекта движка на новый

Вопрос можно ли с помощью каких нибудь манипуляций получить уже из захэшированного старого пароля md5(md5('123')) новый md5(md5('Сальт').(md5('Пароль'))) ?

т.е допустим в данном случае из:

d9b1d7db4cd6e70935368a1efb10e377

получить

adfb8844757b50328184c0f319abc72b с сальтом salt (или с любым другим, сальт я задаю самостоятельно)

Цитата
Для примера:
Если бы хэш на старом сайте хранился так:
md5('123');
то я мог бы получить новые пароли для пользователей таким образом:
md5(md5('salt').(d9b1d7db4cd6e70935368a1efb10e377))


Спустя 3 часа, 56 минут, 21 секунда (20.11.2009 - 21:04) ИНСИ написал(а):
spamoney можно сделать так кажется:

Сделать запрос немного по другому тогда, если ты перенесешь пароли:
$password = md5(md5('Сальт') . (md5(md5($_POST['password']))) );
mysql_query("SELECT * FROM `users` WHERE `password` = '{$password}' ");


где $_POST['password'] - это пароль приходящий с формы

Спустя 11 часов, 46 минут, 53 секунды (21.11.2009 - 08:51) Michael написал(а):
Интересный вопрос.
Походу не получится автоматом для новой формулы получить верный снимок пароля из старого снимка.
Т.к. для
md5(md5('Сальт').(md5('Пароль')));
взять
md5('Пароль')
неоткуда.

А вот анализировать уже входящие пароли на соответствие 1-ой формуле
и переписывать по новой формуле - не вижу в чем проблема.


_____________
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.