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

Форум PHP

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

 

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

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

тема: md5 - развейте иллюзии!
 
 автор: RX   (02.08.2008 в 22:33)   письмо автору
 
 

Здравствуйте, я слышал много споров о том насколько нажежен md5 и то что не надо делать md5(md5(md5($x)))...а зря!!! Шерстя инет наткнулся на базу данных md5 хешоф...и тут возникла мысль: А МНОГОУРОВНЕН. МД5, ЭТО Ж ХОТЬ КАКОЙ ТО способ защитьться от таких ***** БД!! Разве я не прав??

  Ответить  
 
 автор: Trianon   (02.08.2008 в 23:19)   письмо автору
 
   для: RX   (02.08.2008 в 22:33)
 

Способ вовсе не единственный, отнюдь не самый оптимальный и надежный.
К примеру: $hash = md5("Произвольная строка $x случайных символов");
Не говоря о том, что можно выбрать хеш подлиннее и более устойчивый.

  Ответить  
 
 автор: RX   (03.08.2008 в 00:21)   письмо автору
 
   для: Trianon   (02.08.2008 в 23:19)
 

....знаете,...вот я смотрю сюда http://www.passcracking.ru/index.php и мне реально становится не по себе!! НЕУЖЕЛИ ЗА ДЕНЬГИ ВСЕ МОЖНО ДАЖЕ НЕЗНАКОМЫЙ ХЕШЬ ВЕВЕРНУТЬ.....и "криптоанализ"...это все правда или уловка?????

  Ответить  
 
 автор: Trianon   (03.08.2008 в 00:46)   письмо автору
 
   для: RX   (03.08.2008 в 00:21)
 

По-моему, там и без денег кое-что неплохо работает:))
А Вы сходите по ссылке с заглавной страницы, почитайте про методику...

  Ответить  
 
 автор: Ralph   (02.08.2008 в 23:20)   письмо автору
 
   для: RX   (02.08.2008 в 22:33)
 

Нет.Представьте себе:допустим,md5-хэш вычисляется как сумма всех числ телефона.К примеру:ваш номер телефона:123456,сумма цифр номера(md5)=21.В вашей базе хранится не пароль,а хэш(т.е. сумма всех цифр).Я начинаю подбирать пароль.Мне не нужно перебором добратся до вашего 123456.Достаточно дойти до 00399,и сумма совпадет.Поэтому многократное хэширование не имеет никакого смысла

  Ответить  
 
 автор: Trianon   (02.08.2008 в 23:25)   письмо автору
 
   для: Ralph   (02.08.2008 в 23:20)
 

Совершенно заоблачная аргументация.
Вот хеш e10adc3949ba59abbe56e057f20f883e этого номера.
До какого номера нужно будет ползти?

  Ответить  
 
 автор: Ralph   (02.08.2008 в 23:30)   письмо автору
 
   для: Trianon   (02.08.2008 в 23:25)
 

Возможно,до 00002...

  Ответить  
 
 автор: Trianon   (02.08.2008 в 23:35)   письмо автору
 
   для: Ralph   (02.08.2008 в 23:30)
 

Что - возможно?
for($i = 0; $i <= 9999999 ; $i++)
if(md5("$i") == "e10adc3949ba59abbe56e057f20f883e")
   { echo "found $i"; break; }

found 123456

  Ответить  
 
 автор: Ralph   (02.08.2008 в 23:30)   письмо автору
 
   для: Trianon   (02.08.2008 в 23:25)
 

Даже при 40-кратном хэшировании коллизия может подобраться на первых 10 вариантах подбора

  Ответить  
 
 автор: Trianon   (02.08.2008 в 23:40)   письмо автору
 
   для: Ralph   (02.08.2008 в 23:30)
 

Какая мощность у множества значений md5 ?
Какая вероятность того, что среди этого множества нужный элемент случайно окажется в первой десятке?

  Ответить  
 
 автор: BinLaden   (02.08.2008 в 23:57)   письмо автору
 
   для: Trianon   (02.08.2008 в 23:40)
 

Не спорьте с Ralph'ом. Не видите - человек тут Вас на голову умнее?

  Ответить  
 
 автор: Trianon   (03.08.2008 в 00:04)   письмо автору
 
   для: BinLaden   (02.08.2008 в 23:57)
 

Типа все равно один из спорящих - дурак, другой - подлец? :)

Насколько я помню, как раз Ralph упертостью не страдает. Как минимум раньше не страдал.

  Ответить  
 
 автор: BinLaden   (03.08.2008 в 00:12)   письмо автору
 
   для: Trianon   (03.08.2008 в 00:04)
 

> Типа все равно один из спорящих - дурак, другой - подлец?

Who is who? :))

  Ответить  
 
 автор: Ralph   (03.08.2008 в 11:56)   письмо автору
 
   для: Trianon   (03.08.2008 в 00:04)
 

[смущенно]Как раз вспомнил ту дискуссию,когда я с упорством быка доказывал,что шифрование и хэширование-это одно и то же[/смущенно]

  Ответить  
 
 автор: Phantom   (03.08.2008 в 02:12)   письмо автору
 
   для: RX   (02.08.2008 в 22:33)
 

md5 хэш - это 18 446 744 073 709 551 616 комбинаций. Обратить его невозможно - только ПОДОБРАТЬ исходную строку или строку, которая выдаст точно такой же хэш. Подбирать можно по словарю или все комбинации подряд. Если подбирать все комбинации подряд и перебирать миллиард комбинаций в секунду, то полный перебор займёт почти 600 человеколет, поэтому этим заниматься никто не будет, если только конечно в вашем распоряжении нет несколька тысяч мощных машин =) Что касается словаря, так это то, что используют на каждом шагу. Обычно расшифровывают хэши паролей, а многие ставят очень простые пароли на всё.
Теперь, исходя из вышесказанного, могу сказать, что получение двойного/тройного хэша поможет от перебора по словарю только в том случае, если тот, кто будет подбирать и не догадывается, что у вас это так реализовано. Ну а если вы вовсе не пароли хэшируете, а что-то такое, что по словарю не подобрать, то и одного вызова md5 достаточно.

  Ответить  
 
 автор: RX   (03.08.2008 в 09:03)   письмо автору
 
   для: Phantom   (03.08.2008 в 02:12)
 

...спасибо, становится понятней... однако кроме меногоуровневого md5, как защитить пароль (а как часто бывает, пользователь выбирает именно простенький, вроде 557711 или 560056, а наверно именно такие "избитые" комбинации и содержатся в нечистоплотных БД)

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

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