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

Форум PHP

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

 

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

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

тема: Надежное шифрование паролей
 
 автор: Poruchik   (17.06.2006 в 11:59)   письмо автору
 
 

Пишу свой первый сайт. Хочется спросить опытных и знающий людей о надежных способах шифрования паролей. На одну лишь функцию md5() я не рассчитываю, поскольку подобрать пароль, соответствующий хэш-коду, можно подчас за несколько секунд, имея базу хэшей. Сам видел подобный сайт. А если делать преобразования с самим паролем или кодом? Например, что-то в этом роде:

1. Пользователь при регистрации вводит пароль.
2. Скрипт вставляет в определенное место или места в пароле (скажем, после первого символа) какой-нибудь знак – скажем, запятую, знак доллара и т.д.
3. Эта конструкция хэшируется в md5.
4. Хэш-код тоже проходит какую-либо обработку – например, цифра 9 меняется на букву "f", буква "c" на цифру 5...
5. Данные пользователя пишутся в БД.

Ну и соответствующие действия скрипт проведет при авторизации.

   
 
 автор: valenok   (17.06.2006 в 12:06)   письмо автору
 
   для: Poruchik   (17.06.2006 в 11:59)
 

Надо придумывать собственные алгоритмы шифрования.
Один такой ты уже привёл внизу.

И не советую заменять символы..

   
 
 автор: dumus   (17.06.2006 в 12:07)   письмо автору
 
   для: Poruchik   (17.06.2006 в 11:59)
 

Зачем менять цифры, буквы? Что качается паролей, все намного проще:


<?
$pass 
"1234";
$prf "h6Gf4F";
$str $prf.$pass;
$str base64_decode($str);
$crypt md5(md5($prf.$str));

print 
$crypt;
?>


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

   
 
 автор: valenok   (17.06.2006 в 12:09)   письмо автору
 
   для: dumus   (17.06.2006 в 12:07)
 

Перебор по лсоварю отменяеться за 10 мин.
И тогда останеться 0,01% что случайно наберу пароль..
Ошибся буквой в нике а у обоих тот же пароль...

   
 
 автор: dumus   (17.06.2006 в 12:12)   письмо автору
 
   для: valenok   (17.06.2006 в 12:09)
 

Этот вариант, оставим на везение)
Хотя... если грамотно еще и сессии подключить...

   
 
 автор: valenok   (17.06.2006 в 12:13)   письмо автору
 
   для: dumus   (17.06.2006 в 12:12)
 

Ну и это можно вообщем..

   
 
 автор: cheops   (17.06.2006 в 13:26)   письмо автору
 
   для: Poruchik   (17.06.2006 в 11:59)
 

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

   
 
 автор: Poruchik   (17.06.2006 в 15:00)   письмо автору
 
   для: cheops   (17.06.2006 в 13:26)
 

Я имел в виду не базу хэшей паролей с моего сайта, а общую, по возможности большую базу с хэш-кодами для паролей определненной длины. Возможно, я и глупость написал, поскольку такая база должна быть огромной. :)

   
 
 автор: valenok   (17.06.2006 в 18:25)   письмо автору
 
   для: Poruchik   (17.06.2006 в 15:00)
 

Вообщем словарь где все влова уже находятся в md5
Интересно куда он такие слова подставляет...

   
 
 автор: Unkind™   (17.06.2006 в 19:00)   письмо автору
 
   для: cheops   (17.06.2006 в 13:26)
 

Её ещё добыть нужно... если уплывает база хэшей - это уже не штатная ситуация, следует приложить все усилия, чтобы этого никогда не происходило.
У меня такое было (добывал), но перебор меня замучил...Наплевал...( Так что еще терпение нужно или компьютер из Пентагона какого-нить...

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

   
 
 автор: Саня   (17.06.2006 в 21:32)   письмо автору
 
   для: Unkind™   (17.06.2006 в 19:00)
 

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

На генерацию md5-хеша тратится время. Поэтому можно создать базу данных с паролями и уже вычисленными хешами к ним. И для того, чтобы узнать пароль, нужно всего лишь произвести поиск по бд.

Такой способ очень невыгоден, так как объёмы сгенерированной информации слишком большие. Для примера, бд, состоящее из паролей от 1 до 6 букв английского алфавита в обоих регистрах и md5-хешах к ним должна занимать ~699,3 Гбайт.

   
 
 автор: cheops   (17.06.2006 в 22:39)   письмо автору
 
   для: Unkind™   (17.06.2006 в 19:00)
 

> Так что еще терпение нужно или компьютер из Пентагона какого-нить...
Обычно под это дело ломают сети или мощные сервера и подбирают пароли на них - на персоналках только энтузиасты работают :))) Более того, обычно не сами ломают сервера а покупают доступ к сломанным серверам - чёрный хакерский рынок достаточно развит в этом плане... Другой вопрос, что если затраты не окупаются - это не имеет смысла.

   
Rambler's Top100
вверх

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