【发布时间】:2014-01-04 14:40:36
【问题描述】:
我正在尝试为此测试 password_hash 方法,我创建了以下函数 hashPassword:
function hashPassword($string) {
$settings = array('cost' => 10, 'encryption_key' => 'thisIsMyEncryptionKey1234');
return password_hash($string, PASSWORD_BCRYPT, $settings);
}
现在如果我用像"test"这样的随机字符串来测试它
结果是:
$2y$10$thisIsMyEncryptionKeyu5n3NNnKh3DjgJqgb5pE8YOLBclKrVWC
或者如果我用helloworld 测试它:
$2y$10$thisIsMyEncryptionKeyuVw8QRVNw8HbEWHX2oQlArVtne2TzOpS
谁能告诉我为什么会这样?还是应该是这样的?
【问题讨论】:
-
加密密钥应该是随机生成的
-
什么?如何验证用户密码是否正确???
-
in3.php.net/manual/en/function.password-hash.php@Niels 的回答解释了它
-
在
$options数组中传递'encryption_key'绝对没有任何作用。我想你的意思是'salt'。 -
是的。只有 2 个受支持的选项,盐和成本。
标签: php password-encryption php-password-hash