比较 PHP 中 Nodejs 生成的 bcrypt 哈希
Compare Nodejs generated bcrypt hash in PHP
只是想了解不同平台上的 bcrypt 哈希比较,我有一个在 Nodejs 服务器上生成的 brypt 哈希,现在我要转移到 PHP,我想知道这是否可以比较已经在 PHP
中创建了 bcrypt 哈希(在 Nodejs 中生成)
节点 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
输出:a$c/EwGsRkoV4XHmsOJYWZ6.LurbDUFW.eq83SI8eu5JaMOsr6PyLrm
是否可以使用 PHP
中的输入 simha
生成输出散列
我正在尝试下面的方法,但它生成了不同的哈希值
password_hash($password, PASSWORD_BCRYPT)
//output : y$CfihL9RipXW88JAVvlyFlegM5BAyD5xQmNutjm9KepeXUn5cAwIX2
您不应期望它们匹配,至少在默认情况下如此。这是因为对于这两个函数,每次对值进行哈希运算时都会选择一个随机盐。
重要的不是哈希输出匹配,而是它们仍然有效。因此,您可以从 node.js 获取散列输出并将其与 PHP 中的 password_verify()
一起使用,例如,它应该验证。
只是想了解不同平台上的 bcrypt 哈希比较,我有一个在 Nodejs 服务器上生成的 brypt 哈希,现在我要转移到 PHP,我想知道这是否可以比较已经在 PHP
中创建了 bcrypt 哈希(在 Nodejs 中生成)节点 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
输出:a$c/EwGsRkoV4XHmsOJYWZ6.LurbDUFW.eq83SI8eu5JaMOsr6PyLrm
是否可以使用 PHP
中的输入simha
生成输出散列
我正在尝试下面的方法,但它生成了不同的哈希值
password_hash($password, PASSWORD_BCRYPT)
//output : y$CfihL9RipXW88JAVvlyFlegM5BAyD5xQmNutjm9KepeXUn5cAwIX2
您不应期望它们匹配,至少在默认情况下如此。这是因为对于这两个函数,每次对值进行哈希运算时都会选择一个随机盐。
重要的不是哈希输出匹配,而是它们仍然有效。因此,您可以从 node.js 获取散列输出并将其与 PHP 中的 password_verify()
一起使用,例如,它应该验证。