Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: хеширование паролей
 
 автор: kvins   (19.02.2011 в 15:34)   письмо автору
 
 

смотрел в инете как хешировать пароли и хотел спросить такого кода будет достаточно?


1 // сгенерируем строку длиной 22 символа
02 function unique_salt() {
03 return substr(sha1(mt_rand()),0,22);
04 }
05
06 $unique_salt = unique_salt();
07
08 $hash = sha1($unique_salt . $password);
09
10 // сохраним $unique_salt в записи пользователя
11 // ...

читал про пароли в русселер ком http://ruseller.com/lessons.php?rub=37&id=902

там был код посложней , но чтоб не путатся думаю вот такой поставить

еще вроде писалось что id еще можно вставить

  Ответить  
 
 автор: neadekvat   (19.02.2011 в 16:31)   письмо автору
 
   для: kvins   (19.02.2011 в 15:34)
 

Чего-то я не могу догнать - как вы потом эти пароли будете сверять, если соль всегда уникальная?
А, кажется понял.
Вот прям представляю, злоумышленник получается список столбцов:
user_id, user_name, user_password, user_salt..
Всяко он не поймет, что к чему.

Как по мне - дак соль надо держать в коде. Мы ведь хэшируем, чтобы при просмотре базы данных нельзя было спокойно назвать пароль.
А уж если злоумышленник получит доступ и к исходному коду, и к базе данных - соль не поможет в любом случаи.

  Ответить  
 
 автор: Trianon   (19.02.2011 в 17:03)   письмо автору
 
   для: neadekvat   (19.02.2011 в 16:31)
 

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

  Ответить  
 
 автор: neadekvat   (19.02.2011 в 17:13)   письмо автору
 
   для: Trianon   (19.02.2011 в 17:03)
 

Не могу понять, в чем же тогда?
Если перехватить пароль, передаваемый от пользователя - то и знать то нафиг не надо, посолено там или поперчено.

  Ответить  
 
 автор: Trianon   (19.02.2011 в 17:17)   письмо автору
 
   для: neadekvat   (19.02.2011 в 17:13)
 

Потому что перехват пароля и брут-форс (полный перебор) - не единственные методы атак.

  Ответить  
 
 автор: Trianon   (19.02.2011 в 17:19)   письмо автору
 
   для: Trianon   (19.02.2011 в 17:17)
 

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

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

2 neadekvat:
(по поводу методов )

Генерация вспомогательных таблиц (тех же rainbow tables) при применении соли теряет рентабельность - потому что такие таблицы приходится генерировать не для целого спектра баз паролей, а для одной конкретной.
А на малом числе исходных данных их применение теряет эффективность.

  Ответить  
 
 автор: kvins   (19.02.2011 в 17:18)   письмо автору
 
   для: Trianon   (19.02.2011 в 17:03)
 

ой что то вы запутали меня

1 Trianon а в этом коде разве не для каждого кода уникально?? 03 return substr(sha1(mt_rand()),0,22);

2 можно ли людям давать в пароле ставить пробелы???

3 мб логин тоже шифровать??

кстати я в первый раз это делаю есть ли лучше функция чем sha1 помоему видел еще sha2 или мне показалось

  Ответить  
 
 автор: Trianon   (19.02.2011 в 17:22)   письмо автору
 
   для: kvins   (19.02.2011 в 17:18)
 

>можно ли людям давать в пароле ставить пробелы???

Пробел (в пароле) чем-то отличается от другого символа (в нем же) ?

  Ответить  
 
 автор: kvins   (19.02.2011 в 17:22)   письмо автору
 
   для: kvins   (19.02.2011 в 17:18)
 

...

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования