javascript - Node.js - 使用 bcrypt 生成散列密码
问题描述
我正在尝试使用 bcrypt 生成散列密码并将其登录到终端。但是记录的结果与我的预期输出不符
我的控制器功能如下,
const User = require('../models/user');
const { hashedPassword } = require('../lib/passwordHash');
exports.create = (req, res) => {
const { body } = req;
console.log('1 Create');
const { password } = body;
console.log('2 ', password);
const newPassword = hashedPassword(password);
console.log('3 ', newPassword);
res.send('Create');
};
passwordHash.js 如下,
const bcrypt = require('bcrypt');
const saltRounds = 10;
const hashedPassword = (password) =>
bcrypt.hash(password, saltRounds, (err, hash) => {
if (err) {
return err;
}
console.log(hash);
return hash;
});
module.exports = {
hashedPassword
};
输出如下,
1 Create
2 12345
3 undefined
$2b$10$hVQ7J4ratfP7ubgiRzF1WOI7rmYC5WRo4kFh6EbjJtK0qR1gW5nWa
期望输出是,
1 Create
2 12345
$2b$10$hVQ7J4ratfP7ubgiRzF1WOI7rmYC5WRo4kFh6EbjJtK0qR1gW5nWa
3 $2b$10$hVQ7J4ratfP7ubgiRzF1WOI7rmYC5WRo4kFh6EbjJtK0qR1gW5nWa
我知道它是一个异步函数,在所有行执行后运行。但是我怎样才能得到预期的结果。
解决方案
推荐阅读
- java - Spring Boot 2.1 嵌入式 Tomcat - 密钥库密码不正确
- php - WooCommerce:在智能手机中显示全尺寸图像
- android - 如何将点击监听器添加到 RecyclerView 项目
- r - 多列之间的共同条目
- permissions - Scrapy 作为 anacron 作业 - 如何更改生成的 csv 文件的所有者?
- javascript - 如何在 switch 语句和另一个函数中使用 const?
- powershell - 在 Powershell 中使用 Chrome Cookie 进行 Invoke-WebRequest
- django - AWS ECS 中的 DjangoDisallowedHost
- mysql - 当前时间作为 Mysql 中“TIME”的默认值
- c++ - opencv 4.x API 与以前的版本有何不同?