[英]Using 'pgcrypt' inside node.js application
我想知道当我将用户插入数据库时,如何将我的 Node.js 应用程序中的 pgcrypt 扩展用于 hash 我的密码。 可能是一个简单的解决方案,但我不知道如何在应用程序中使用这些 PG 扩展......
例如,这是我创建管理表并将管理员插入表的查询。 现在我想 hash 的密码。
function createAdmin(){
var usertypeid = null;
const type = "adm";
pool.query(`INSERT INTO usertype(type) VALUES ($1) RETURNING userTypeId;`, [type], function (error, results) {
if (error){
throw error;
} else{
usertypeid = results.rows[0].usertypeid;
console.log(usertypeid);
insertAdmin();
}
});
function insertAdmin(){
pool.query(`
INSERT INTO users(
usertypeid, userName, email, password)
VALUES($1, 'admin', 'admin@admin.com', crypt('admin'), gen_salt('bf'));`, [usertypeid]);
}
}
值($ 1,'admin','admin@admin.com',crypt('admin'),gen_salt('bf'))
如果您向我们提供错误消息,那就太好了。
crypt 需要两个 arguments。 您正在调用一个,然后将盐作为额外的第 5 列传递给恰好需要 4 列的 INSERT。 调整括号。
VALUES($1, 'admin', 'admin@admin.com', crypt('admin', gen_salt('bf')))
此外,使用 bf 的默认工作因子可能太低,但这将是一个单独的问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.