繁体   English   中英

在 node.js 应用程序中使用“pgcrypt”

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM