我尝试使用this project
时遇到问题这个
<?php
require_once("lib/password.php");
echo password_hash("how_are_you", PASSWORD_BCRYPT) . "<br/>";
echo password_hash("how_are_you", PASSWORD_BCRYPT) . "<br/>";
echo password_hash("how_are_you", PASSWORD_BCRYPT) . "<br/>";
echo password_hash("how_are_you", PASSWORD_BCRYPT) . "<br/>";
echo password_hash("how_are_you", PASSWORD_BCRYPT) . "<br/>";
echo password_hash("how_are_you", PASSWORD_BCRYPT) . "<br/>";
echo password_hash("how_are_you", PASSWORD_BCRYPT) . "<br/>";
echo password_hash("how_are_you", PASSWORD_BCRYPT) . "<br/>";
echo password_hash("how_are_you", PASSWORD_BCRYPT) . "<br/>";
echo password_hash("how_are_you", PASSWORD_BCRYPT) . "<br/>";
给了我:
$2y$10$7Tv8qkqYByD6XOy1ZVh97OfqrZmeVGxkK1KAtOQOQQvotLY6YsLPm
$2y$10$UlV2D6cSiN1OxZhwPwTdq.le/bI2p1ZPAi0s6ZZALR2OIjxiKSXBi
$2y$10$mdEfoCiAM83gfM3dkdSID.oPPsdWCszDiN3CxiaC4htALeDIb34tO
$2y$10$TOrANsMbfWEdA6asD//yYuA4.fckGHxnFgg0EmC8vPI6.hcfjrKZ.
$2y$10$itBEZCBZzkxunZmamRzjiu8YtM0H71pADPDVwomLep/DSHHdRmd16
$2y$10$xV8fQhFw/v3NBnMvgHw8P.eaIL/1oEdZ2/gx4QmC.CNT.5hG5LQc2
$2y$10$XXdEEhSxfwH6f6OBIKSScOa0JRhe4kaKphWfHOct/nbbw1JjFkO3y
$2y$10$RXGVYn5KcWB.O0Owv8fk0e.LDcZn2RhgoE4Q3fFjnNL6tLYk8Chj6
$2y$10$R62hVVqydGW0raQR5O2QW.BEaMIrdpXgPBbKH9OKIHh2e0Cwtd//u
$2y$10$I0Kf8JHpTb5QbYoUssTBP.Hch4dZWdmL.CGzgKYf4cpGfHIL6vuWa
然而,结果应该是相同的。
环境:
答案 0 :(得分:2)
不,结果 不应该 是相同的,因为每次出现都使用 不同的 < strong> salt ,这是使其更难破解的功能之一,因为每个用户密码和每个重置密码都有不同的盐值。这使得几乎不可能使用彩虹表来强制密码
这就是为什么你使用password_verify()来匹配用户输入的密码和存储的密码,而不是再次重复使用password_hash()