Форуми / National / Russian / Идеи / Хранение паролей [добавлено в #966]

идея изменить алгоритм на SHA

Macik
#34660 12.06.2012 03:43

Обратил внимание, как пароли пользователей храняться в БД и задумался... 

Это видимо еще с Seditio тянется.

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

В качестве примера взял базу паролей одного из своих сайтов - 3900 пользователей в базе. За сутки удалось расшифровать 2600 паролей (буквы/цифры длиной до 8 знаков).

Это говорит о том, что в случае несанкционированного доступа к БД может быть получен и расшифрован пароль пользователя (а учитывая, что у многих он одинаковый для разных сайтов / сервисов - то последствия могут быть далеко идущими). И даже если исключить стороннее проникновение в БД, то остается шанс «утечки» паролей, например если админ сайта не чист на руку.

Предложение заменить MD5 на SHA1 и обязательно добавить «соли».
типа  $passw_hash = sha1($user_id . sha1($user_password));

Как реализовать прозрачный апгрейд текущих систем пока идей нет. Надо помозговать.

https://github.com/macik
правильный хостинг — https://goo.gl/fjCa1F

Відредаговано: Macik (31.10.2012 14:46, 12 років тому)