Я только что заметил, что у меня есть SHA512 в моей установке PHP. Является ли он более безопасным, чем SHA1? Является ли это самым безопасным методом хэширования (мне нужно для паролей, а не для проверки целостности файлов)?
В ответ на @Buddy скорость не является вашим другом при хешировании; тем медленнее, тем лучше. Если кто-то пытается перенаправить ваш пароль, алгоритм, который занимает много времени, будет означать, что взлома займет много времени.
Sha512 лучше .. Я также рекомендовал бы использовать соль
См. Также: Безопасный хэш и соль для паролей PHP
Я давно задал этот вопрос.
Ответ заключается в том, чтобы всегда использовать алгоритм, который был разработан для этого, и прошел тест времени.
В настоящее время этот алгоритм будет bcrypt (есть еще 2, но я не помню их имена). На каждом языке есть реализации bcrypt, поэтому просто найдите один и используйте его. Если компьютеры продолжают расти (что ослабит ваши хэши), вы можете увеличить количество раундов, используемых для замедления (масштабируется с помощью аппаратного обеспечения).
md5, sha1, sha512 и т. д.: они сосут пароли. Сколько они сосут? Вы можете использовать шлемы средней длины в часах или даже секундах с помощью вашего ноутбука. И это нормально, они не предназначены для защиты паролей. Они все еще могут использоваться как криптографические примитивы, например: вы можете реализовать bcrypt с помощью md5.
Вы можете попробовать эту ссылку , это библиотека для случайного генерирования солевого хеширования, одного из самых безопасных способов хэширования паролей и аутентификации пользователей.