Перейти на BCrypt

3

Предлагаю обсудить такую важную тему, как переход на BCrypt.

В данный момент, если юзер не задаст wa_password_hash функцию, то по умолчанию будет использоваться обычный md5 в один проход без всяких солей и прочего (или я ошибаюсь?). Данные пароли можно расшифровывать на GPU очень быстро.

Предлагаю рассмотреть переход на BCrypt (PHP 5.5+). Если не брать в расчет версию PHP, то алгоритм можно сформировать как-то так:

  1. Юзер вводит пароль
  2. Если в установке зарегистрирована функция wa_password_hash, сравниваем с результатом этой функции, дальше не идем, т.к. скорее всего пароль уже сильнее чем просто md5.
  3. Если функции нет, то берем значение хеша лежащего в базе, если 32 символа - значит md5, в противном случае - bcrypt.
  4. Если md5, тогда сравниваем md5 пароля, который ввел юзер, с хешем, который только что взяли из базы, если совпадают - обновляем значение хеша на bcrypt.
  5. Если BCrypt, то...
  6. В следующий раз получим из базы >32 символа, и уже пойдем по ветке сценария на BCrypt.

Или, как минимум, рассмотрите генерацию соли при установке, как это сделано в том же Wordpress.


3 комментария

Добавить комментарий

Чтобы добавить комментарий, зарегистрируйтесь или войдите