只是要知道不同平台上的bcrypt哈希比较,我有一个在Nodejs服务器上生成的brypt哈希,现在我转向PHP,我想知道这是否可以比较已经创建的bcrypt哈希(生成在Nodejs中用PHP
节点JS代码:
function hash(password) {
return new Promise(function(fulfill, reject) {
bcrypt.hash(password, 8, function(err, hashedPassword) {
if (err) {
reject(err);
} else {
fulfill(hashedPassword);
}
});
});
}
输入:simha
输出:$2a$10$c/EwGsRkoV4XHmsOJYWZ6.LurbDUFW.eq83SI8eu5JaMOsr6PyLrm
是否可以使用PHP中的输入simha
生成输出哈希
我正在尝试下面的一个,但它生成不同的哈希
password_hash($password, PASSWORD_BCRYPT)
//output : $2y$10$CfihL9RipXW88JAVvlyFlegM5BAyD5xQmNutjm9KepeXUn5cAwIX2
答案 0 :(得分:1)
至少在默认情况下,你不应该期望它们匹配。这是因为对于这两个函数,每次散列值时都会选择随机盐。
重要的不是哈希输出匹配,而是它们仍然有效。因此,您可以从node.js获取散列输出,并在PHP中将其与password_verify()
一起使用,并且它应该验证。