bcrypt生成盐或哈希密码时崩溃了该应用程序

时间:2018-11-12 01:04:09

标签: node.js npm bcrypt

根据bcrypt npm文档,我尝试合并该软件包,但无法在我的应用程序中使用bcrypt软件包,因此要单独测试bcrypt,我创建了示例js文件,该文件在执行时也崩溃,没有给出任何错误。以下是我尝试测试的js文件。我试图将常量值传递给哈希函数,该函数也无法正常工作。

const bcrypt = require('bcrypt');
async function run(){
const saltValue =await bcrypt.genSalt(10);
bcrypt.hash('12345',saltValue)
.then(result => console.log(result))
.catch(error => console.log(error));
}
run();

版本: 节点:9.0.0 npm:“ 5.5.1” “ bcrypt”:“ ^ 3.0.2”,

使用nodemon时,我收到消息:应用程序崩溃-在开始之前等待文件更改... 在正常执行中,它没有显示任何错误。

更新

如果将bcrypt的异步方法更改为“同步”,则它可以正常工作,

    const saltValue = bcrypt.genSaltSync(10);
    const hashed = bcrypt.hashSync('12345',saltValue);

我认为bcrypt团队的人可以回答。

更新:此问题在社区引发,其他开发人员也面临相同的问题,有关更多信息,请参阅链接。

https://github.com/kelektiv/node.bcrypt.js/issues/674

2 个答案:

答案 0 :(得分:1)

bcrypt有时可能很时髦……用bcryptjs代替(反而更受欢迎...)

这很好用:

const bcrypt = require('bcryptjs');

async function run() {
  const saltValue = await bcrypt.genSalt(10);
  bcrypt
    .hash('12345', saltValue)
    .then(result => console.log(result))
    .catch(error => console.log(error));
}
run();

答案 1 :(得分:1)

我有节点v8.11.4和bcrypt 4.0.1版本。

我遇到相同的错误

[nodemon]应用程序崩溃-等待文件更改,然后再启动。.

我的解决方案:

我确实安装了bcrypt旧版本。

npm i --save --save-exact bcrypt@2.0.1

效果很好