DevMan : Да перебирайте на здоровье. Никто вам не запрещает перебирать что либо... Впрочем любой "алгоритм" можно перебирать и конкретно md5 тут не причём. Конечно можно организовать атаку по словарю... да можно и вручную подобрать если пароль вроде "123" или "qwerty", но опять же безопасность алгоритма в данном случае не имеет никакого значения. Вы реально этого не понимаете?
DevMan : Нет. Просто после: "вы не понимаете или намеренно упускаете из виду тот факт, что перебирать 2^128 значений не нужно. достаточно ограничится перебором по словарю и паролями до 8-10 символов чтоб под удар попала существенная доля пользователей слитой базы." и "> От использования радужных таблиц спасает использование соли
разговор был про md5, а не соль." я понял что спорить то с Вами бессмысленно так так предметом вы владете на уровне википедии. Наверное оно Вам больше и не надо. :)
DevMan : Перебрать 2^128 значений не представляется возможным физически! Минимальная энергия изменения состояния помноженая на 2^128 превышает энергию вселенной (К сожалению ссылку на оригинальную статью не нашёл - честно искал :) ). Атаку основанную на парадоксе дней рождения в контексте хеширования паролей осуществить так же невозможно. От использования радужных таблиц спасает использование соли. Да, есть некоторое количество частных случаев строк для которых нашли коллизию, но это всего 8 (помоему) штук и у каждого алгоритма есть такие. Вообщем отправляя меня на википедию и в гугл вы показываете свою некомпетентность и не способность самостоятельно анализировать информацию в области криптографии. Уверен что вы даже не понимаете почему для подписи сообщения md5 не безопасен, а для хеширования безопасен.
В этом нет ничего страшного - каждый специалист в своей области, но спорить про md5 с человеком, который последние 10 лет занимается криптографией - не стоит :)
DevMan : Гуглил. Да, в качестве цифровой подписи сообщения использовать его не рекомендуется. Я не понимаю почему его для хеширования паролей нельзя использовать? Интересно Ваше авторитетное мнение.
Полностью согласен. CMS хороши для сайтов, а если делать полноценный веб сервис предварительно не зная в какую сторону пойдёт его развитие - CMS подобрать не возможно...
Валерий Рябошапко: Всё что я написал не касается принципов постороения безопасности В ОБЩЕМ. Это касается конкретного вопроса. Человеку надо проверить валиден ли введённый пароль тому, который хранится на сервере или нет (Причём на клиентской стороне)? Я ему и подсказываю решение для его конкретной задачи, так как всей остальной архитектуры и почему именно такое решение требуется мы не знаем.
Да и чем Вам md5 не угодил? Причём тут 2015 год? Он протух?
Cosmos: Если я правильно понял, то авторизация проходит чем то типа ajax-запроса. То есть вы можете получить на сервере хэш пароля с помощью password_hash, но использовать на клиенте password_verify Вы не можете. В password_hash используется алгоритм Blowfish, то есть нужно на клиенте написать свою реализацию функции password_verify с использованием Blowfish. Это сложно. Используйте какой нить алгоритм хеширования постандартней. Хешируйте в md5. Реализации md5 есть уже, по-моему, под все языки.
DevMan : Ну речи про https не шло нигде. Да и поспешу Вас разочаровать, далеко не все сайты на которых есть авторизация работают через https. Да и все фреймворки и CMS не требуют https для работы, однако обеспечивают безопасность пароля.