Reactjs 不支持 Bcrypt

Bcrypt is not supported in Reactjs

我尝试使用 bcrypt 转换表单输入的密码值。 首先我安装了 bcrypt (npm install bcrypt --save) 在我这样添加之后

var bcrypt = require('bcrypt');
 var hash = bcrypt.hashSync(values.newPassword, 10);

然后在cmd中显示这样的错误

 ERROR in ./node_modules/forever-agent/index.js Module not found: Error: Can't resolve 'tls' in 

你能帮帮我吗?谢谢

所以普通的 bcrypt 不像典型的库。它是用 c++ 编写的,当您 npm install 它时,它会为您的机器编译。由于这个原因(以及更多),它在浏览器中不起作用。然而,有一个纯粹的 javascript 实现是浏览器兼容的(并且通常是可移植的):

bcryptjs

npm install bcryptjs

一定要阅读他们的浏览器实现以指导设置。他们需要做一些小事情来生成密码安全的随机数。