Цитата |
один из основных принципов защиты - нельзя верить никому
|
Это уже дело юзера
Invis1ble
10.05.2013 - 18:17
Цитата (N0ob @ 10.05.2013 - 17:14) |
Цитата | один из основных принципов защиты - нельзя верить никому
|
Это уже дело юзера |
это относится ко всем, а не только к юзерам. С опытом может быть поймешь.
_____________
Профессиональная разработка на заказЯ на GitHub |
второй профиль
Ну вот как я и думал. Ты сам недопонял и пишешь с такой категоричностью. А люди и впрямь подумают, что md5 нельзя применять для хэширования, нужен другой алгоритм.
Там написано:
Цитата |
В связи с быстрой природой хэширующего алгоритма не рекомендуется использовать эту функцию для обеспечения безопасности паролей. |
Имеется ввиду
одну только эту функцию.
Вобщем
вот еще раз пропиарюсь, раз такое дело. А то в соседней ветке postgree с mysqli сравнивают, тут md5 обижают
_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.
inpost
10.05.2013 - 23:11
Заголовок первый:
Почему популярные хэширующие функции, такие как md5() и sha1() не подходят для паролей?
Заголовок второй:
Если популярные хэширующие функции не подходят, как же я тогда должен хэшировать свои пароли?
Ну а ты в своём репертуаре, омрачить мой коммент.
_____________
Обучаю веб-программированию качественно и не дорого:
http://school-php.comФрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
Честно говоря ничего не понял я из этого спича. И где я омрачил - тоже не понял.
Ты написал:
Цитата |
Почему md5, а не другой hash, как рекомендуют PHP разработчики? |
Я засомневался и уточнил:
Цитата |
Можно взглянуть на рекомендции? Я что-то упустил наверно. А какой другой? |
Ты мне дал ссылку на мануал, где рекомендовано не использовать
функцию md5()
в чистом виде для хэширования пролей.
На лицо недопонимание тобой разницы между алгоритмами хэширования и функциями. Алгоритм MD5 один (если не самый) из самых удачных алгоритмов. А из твоего коммента следует, что он устарел и его не рекомендуют разработчики.
Просто нужно использвать его к месту и все будет чики-пики. А брутится любой хэш, если он сделан влоб.
_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.
inpost
11.05.2013 - 00:52
twinА при чём тут алгоритмы? Читай внимательно, что ТС написал:
"Делается следюущим образом - md5($pass.$salt)"
В ответ я написал, что эту строчку надо исправить. Пусть будет crypt методом md5! Но crypt, а не функция.
В итоге:
"На лицо недопонимание тобой разницы между алгоритмами хэширования и функциями.", так как тут обсуждали функции.
"в чистом виде" сам придумал?
_____________
Обучаю веб-программированию качественно и не дорого:
http://school-php.comФрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
Цитата (inpost @ 10.05.2013 - 20:52) |
twin А при чём тут алгоритмы? Читай внимательно, что ТС написал: "Делается следюущим образом - md5($pass.$salt)" В ответ я написал, что эту строчку надо исправить. Пусть будет crypt методом md5! Но crypt, а не функция.
В итоге: "На лицо недопонимание тобой разницы между алгоритмами хэширования и функциями.", так как тут обсуждали функции.
"в чистом виде" сам придумал? |
Как это причем алгоритмы? Ты рельно считаешь, что результаты вычисления MD5 хэша функциями crypt() и md5() будут разными???
О чем мы вообще говорим тогда.
Мануал советует использовать соль, это да. Так о том и речь. А какую функцию при этом юзать, дело десятое. Главное не использовать алгоритм md5 (да и любой другой) в чистом виде, ибо при современном быстродействии очень велика возможность брутфорса.
С какого перепуга нужно "исправлять строчку"? Зачем менять функцию то? Это называется "слышал звон, да не понял, где он".
И да, выражение "в чистом виде" я сам придумал. Именно так, нежелтельно использовать функции
в чистом виде. Желательно с солью.
_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.
Цитата (twin @ 11.05.2013 - 09:44) |
Ты рельно считаешь, что результаты вычисления MD5 хэша функциями crypt() и md5() будут разными??? |
На сколько я понимаю, crypt может использовать md5(или другой алгоритм) только на одном из своих этапов хеширования, результирующий хеш будет другим. Однако, единственное преимущество crypt которое я вижу - это его медлительность, от rainbow таблиц защитит и обычный md5(md5($pass) . $salt). Естественно, соль в базе хранить не следует, т.к. если хацкер получит доступ к базе с солью - первое, что он будет делать (перед брутфорсом), это искать способ хеширования, основываясь на сопоставлении пароля своего аккаунта и хеша из базы. Т.е. будет перебирать стандартные варинаты - md5($pass) . $salt, md5(md5($pass . $salt)) и т.д.
DedMorozzz
11.05.2013 - 11:19
Ты всё это продолжаешь, я же тебе сразу ответил. Ты сам дал ссылку и там было указано, что мд5 не следует использовать, потому что он быстро очень генерируется. И как следствие можно быстро подобрать коллизию.
Для защиты - используйте соль. Если есть соль, то хоть за секунду будут обработаны все возможные коллизии - пароля не узнаешь, не зная соли.
Ниужели ты действительно не до конца понял этот момент?
Если хочешь проведём эксперемент. Я создам хеш по алгоритму md5(pass.salt), и дам тебе его - определи пароль(коллизию пароля)
_____________
Если не говорить пользователям, что Linux это "Сложно и страшно", то им совершенно всё равно, в чём не разбираться
DedMorozzz
11.05.2013 - 11:26
Цитата |
Естественно, соль в базе хранить не следует, т.к. если хацкер получит доступ к базе с солью |
А как он узнает что есть соль?
поле с надписью "Соль здесь! Все сюда!"? Так?
Вот обсуждалось
http://phpforum.ru/index.php?showtopic=74004&st=15
_____________
Если не говорить пользователям, что Linux это "Сложно и страшно", то им совершенно всё равно, в чём не разбираться
Причем тут скорость? Или это настоятельная рекомендация тому, кто будет брутить?
Ты, мол, не используй функцию md5(), она уж больно шустрая. Нечестно. Нужно использовать медленную!
Кстати, функция hash() к примеру быстрее md5().
DedMorozzz прав на все 100 еще в первом посту. Нужно усложнить алгоритм хэширования и все. Этого достаточно. А какой функцией достичь желаемого - дело совершенно десятое.
_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.
DedMorozzzЯ про тот момент, что некоторые хранят в базе хеш (сгенерированный вместе с солью) в одном поле, а соль (случайные символы) - в отдельном поле с названием salt
Я и говорю, что так делать не следует =)
Да, и ещё добавлю, если способ хеширования будет найден, а сбрутить не получится, при sql-injection можно будет просто заменить хеш своим. Так, что уважаемые новички - фильтруйте входные параметры или юзайте prepared statements ))
twin
Цитата (twin @ 11.05.2013 - 13:27) |
Причем тут скорость? |
Как это причем? Вычислительная сложность это один из постулатов
криптостойкости
RandТы сам себя слышишь?)))
Если мы имеем md5 хэш и хотим получить коллизию, каким образом на скорость брута может повлиять функция, которой этот md5 хэш сгенерирован?
_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.
DedMorozzz
11.05.2013 - 12:22
Цитата |
Если мы имеем md5 хэш и хотим получить коллизию, каким образом на скорость брута может повлиять функция, которой этот md5 хэш сгенерирован?
|
Тут как раз всё просто. надо подобрать такой же хеш как и имеем. Для этого надо генерить хеши. Чем быстрее это делается, тем быстрее подберём
Но снова таки, всё упирается в соль
_____________
Если не говорить пользователям, что Linux это "Сложно и страшно", то им совершенно всё равно, в чём не разбираться
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.