@lexstile

Как обезопасить пароли при регистрации/авторизации?

Подскажите, пожалуйста, какой вариант из двух предложенных ниже, надежнее:
  1. используем ф-цию password_hash() (весь результат храним в БД)
  2. используем ф-цию hash_hmac('sha256', $password.$salt, SECRET_KEY) (храним в БД хеш и соль, а также в конфиге секретный ключ)


Может быть, есть еще вариант - более правильный?
  • Вопрос задан
  • 62 просмотра
Решения вопроса 2
Adamos
@Adamos
3. Использовать готовые решения из популярных фреймворков.
Поскольку оба варианта 1 и 2 в теории более чем достаточны для любого обычного сайта, а вот на практике в самописной авторизации неуверенный программист может просто-напросто налажать.
Ответ написан
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
Отличный подход - заранее знать что твои данные в дырявых руках )
Если код сольют, разницы никакой не будет, точнее password_hash() даже понадежнее будет.
Если код не сольют, а допустим только бд вытащат, hash_hmac выглядит надежнее, но по сути не сильно далеко от первого варианта.

На практике во первых задрачивать в псевдобезопасность абсолютно никакого смысла не имеет, ибо password_hash() достаточно надежен, и если уж очень хочется "понадежнее" - cost побольше и вперед, а во вторых плодить кастомные решения в обход специализированных функций это фуфуфу, кака, моветон и гемор всем кто будет это поддерживать.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы