npm bcrypt在生成salt或散列密码时使应用程序崩溃

roejwanj  于 2023-08-06  发布在  其他
关注(0)|答案(3)|浏览(121)

根据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的async方法改为synchronous,则可以正常工作。

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


我想bcrypt团队的人可以回答。

更新:社区上提出了这个问题,很少有其他开发者面临同样的问题,更多信息可以参考链接。

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

6jygbczu

6jygbczu1#

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();

字符串

rqdpfwrv

rqdpfwrv2#

我有node v8.11.4和bcrypt 4.0.1版本。
我得到了同样的错误

[nodemon]应用程序崩溃-在启动前等待文件更改..
我的解决方案:

我安装了bcrypt旧版本。

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

字符串
它工作正常

xnifntxz

xnifntxz3#

我只是遇到了这个问题,对我来说,我所需要做的就是卸载并重新安装bcrypt。

npm uninstall bcrypt

npm install bcrypt

字符串
我猜它不知怎么被破坏了,所以重新安装重新编译,修复了所有错误

相关问题