Я новичок в password_hash
и password_verify
, и они кажутся наиболее эффективным способом безопасного хранения паролей!Работа с Password_hash и password_verify
Я заметил, что password_hash
производит разные хэши для одного и того же plain-text
значение every time
!
Это означает, что если пользователь пытался создать учетную запись с паролем (thisIsMyPassword)
он будет генерировать хэш, как этот $2y$10$VCNH8ndve8hwbvLJ2nMHtOsEiigE4zA7ViADxCJfq9bmUCmkNkcce
,
И если другой или тот же пользователь попытался создать другой аккаунт с тем же паролем, т.е. (thisIsMyPassword)
учетная запись будет создана, и хэш-значение пароля будет примерно $2y$10$Hqssc5nn3pzgfwqVwQrQz.Ny71q972RXmCmyV9ykywG8iELbsf47a
!
Теперь вы видите то же значение, то есть (thisIsMyPassword)
привело к разным хэшам!
В порядке?
Можно ли использовать те же пароли пользователей, если хеш-пароль отличается от базы данных?
Я не знаю, что вы подразумеваете под 'password_hash', но тот факт, что вы получаете разные результаты для одного и того же ввода, предполагает, что вы ** НЕ ** используете реальное хеширование. Реальное хеширование будет ** ВСЕГДА ** возвращать один и тот же хэш для одного входа. – FDavidov
Я не знаю, использовалась ли ранее функция php 'password_hash', но эта функция возвращает разные хэши для одного и того же значения текстового значения (это его точка)! И, понятно, вы не очень хорошо поняли мой вопрос! – UXnew
Нет, я никогда не использовал PHP, но использовал хеширование в списке приложений, и ** всегда ** возвращал одно и то же значение для одного и того же ввода. Вы можете рассмотреть другой вариант, ** tokenization ** (хотя я сомневаюсь, что он поддерживается в PHP. – FDavidov