Re: подскажите начинающему php-программисту 2
Ivan Surzhenko
i.surzhenko на gmail.com
Пт Авг 6 14:28:46 BST 2010
6 августа 2010 г. 15:52 пользователь maxyer <maxyer на mail.ru> написал:
> 06.08.2010 19:07, Ivan Surzhenko пишет:
>> В данном случае можно получать от сервера "соль" и считать md5(соль+md5(пароль))
> Сорри, что-то я не понял ;(
> Что за соль такая ?
Избыточная информация, которая не дает расшифровать/подобрать значение
(даже подбором по хеш-таблицам).
> И где "считать md5(соль+md5(пароль))" ?
> На стороне клиента ?
На клиенте вы имеете пароль.
1. Получаете с сервера соль.
2. Шифруете пароль по md5.
3. Добавляете к хешу соль.
4. От того, что получили на этапе №3 берете еще раз md5
5. Отправляете результат пункта №5 на сервер.
На сервере у вас в базе хранится хеш от пароля.
1. Вы берете соль (ту, что отправляли клиенту) и прибавляете ее к
значению из базы данных.
2. берете от всего этого добра md5.
3. Результат пункта 2 сравниваете с тем, что пришло с клиента
Фишка в том, что переданный с клиента на сервер хеш ничего не дает
злоумышленнику :)
Он не сможет войти с тем же хешом, если для каждой сессии (или просто
часто) создается новая соль :)
--
--------------------------------
With best regards,
Ivan Surzhenko
Подробная информация о списке рассылки ubuntu-ru