Как отметил Йоханнес Горсет, сообщение Томаса Птачека из Matasano Security объясняет, почему простые универсальные функции хеширования, такие как MD5, SHA1, SHA256 и SHA512, не подходят для хеширования паролей .
Почему? Они слишком быстрые - вы можете рассчитывать не менее 1 000 000 хешей MD5 в секунду на ядро с помощью современного компьютера, поэтому грубая сила возможна для большинства паролей, которые люди используют. И это намного меньше, чем кластерный сервер на базе GPU!
Соление без растяжения ключа означает только то, что вы не можете предварительно вычислить радужный стол, вам нужно построить его специально для этой конкретной соли. Но это не сильно усложнит жизнь.
Пользователь @Will говорит:
Все говорят об этом, как будто их можно взломать над
интернет. Как уже говорилось, ограничение попыток делает невозможным
взломать пароль через Интернет и не имеет ничего общего с
хэш.
Им не нужно. Очевидно, в случае LinkedIn они использовали общую уязвимость SQL-инъекции , чтобы получить таблицу базы данных для входа в систему и взломали миллионы паролей в автономном режиме.
Затем он возвращается к сценарию автономной атаки:
Безопасность действительно вступает в игру, когда вся база данных
скомпрометирован и хакер может затем выполнить 100 миллионов паролей
попыток в секунду против хеша md5. SHA512 составляет около 10000 раз
медленнее.
Нет, SHA512 не в 10000 раз медленнее, чем MD5 - это всего лишь вдвое больше. Crypt / SHA512 , с другой стороны, совсем другой зверь, который, как и его аналог BCrypt, выполняет растяжение ключа , создавая совершенно другой хеш со встроенной случайной солью и вычисление займет от 500 до 999999 раз (растяжение настраивается).
SHA512 => aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d
Crypt/SHA512 => $6$rounds=5000$usesomesillystri$D4IrlXatmP7rx3P3InaxBeoomnAihCKRVQP22JZ6EY47Wc6BkroIuUUBOov1i.S5KPgErtP/EN5mcO.ChWQW21
Таким образом, для PHP выбирается либо Crypt / Blowfish (BCrypt), Crypt / SHA256 или Crypt / SHA512. Или хотя бы Crypt / MD5 (PHK). См. www.php.net / manual / en / function.crypt.php