Пересмотрите SHA512, чтобы сделать его более безопасным? - PullRequest
5 голосов
/ 06 июня 2011

В настоящее время я использую SHA512 с произвольной солью для каждого пользователя, чтобы хэшировать пароли пользователей и сохранять их в базе данных. Я думал, что это было довольно безопасно, пока я не прочитал эту статью об использовании дешевых графических процессоров для взлома паролей.

В качестве альтернативы переходу на bcrypt улучшит ли безопасность простое многократное использование SHA512? Запускать его, скажем, 100 или 1000 раз на собственном выходе, чтобы замедлить процесс и сделать грубую силу намного труднее? Или итерация SHA512 на самом деле не дает никаких преимуществ в плане безопасности?

1 Ответ

5 голосов
/ 06 июня 2011

Техника итерации хорошо известна и эффективна при хешировании, особенно против Радужных таблиц . Такие классы, как Rfc2898DeriveBytes , используют до 10 000 итераций для получения правильных паролей. Повторение хэша делает более трудным возвращение грубой силы к исходной строке, так как потребуется хранить несколько итераций строк, чтобы иметь возможность их взломать, что означало бы огромные объемы данных с большими хэшами (т. Е. SHA512).

...