散列通过,比较结果
Hashed pass, compare the result
我有一个带节点后端的 postgres 数据库。
let hash = bcrypt.hashSync("mypass", 10);
try {
const queryString = `
SELECT *
FROM users where username= 'admin' and password='${hash}'
`;
这 return 有 0 行。
我是否必须 return 密码然后 运行 比较?
try {
const queryString = `
SELECT username, password
FROM users where username= 'admin'
`;
bcrypt.compare(RETURNED PASSWORD, hash, function(err, res) {
if(res) {
// Passwords match
} else {
// Passwords don't match
}
});
是的,因为 bcrypt 算法为相同的输入创建不同的散列,所以你必须 return 散列密码然后比较它。
我有一个带节点后端的 postgres 数据库。
let hash = bcrypt.hashSync("mypass", 10);
try {
const queryString = `
SELECT *
FROM users where username= 'admin' and password='${hash}'
`;
这 return 有 0 行。
我是否必须 return 密码然后 运行 比较?
try {
const queryString = `
SELECT username, password
FROM users where username= 'admin'
`;
bcrypt.compare(RETURNED PASSWORD, hash, function(err, res) {
if(res) {
// Passwords match
} else {
// Passwords don't match
}
});
是的,因为 bcrypt 算法为相同的输入创建不同的散列,所以你必须 return 散列密码然后比较它。