每当我使用Argon2来散列密码时,我的Node.js应用程序都会崩溃。我的应用程序的CPU达到100%并强制它重新启动。在行之后出现问题:
argon2.hash(password, salt).then((hash) => {
我仍然是Node.js的初学者,所以这可能是我身边的一个明显错误。或不。以下是该文件的完整代码:
var argon2 = require('argon2');
export class UserCrypto {
constructor() {
}
verify(hash, plain): Promise<boolean> {
return argon2.verify(hash, plain);
}
hash(password): Promise<string> {
return new Promise<string>((resolve, reject) => {
argon2.generateSalt().then(salt => {
argon2.hash(password, salt).then((hash) => {
if (password == salt || salt == null) {
throw new Error("Sanity check on password failed")
}
resolve(hash);
}).catch((err) => {
reject(err);
});
}).catch((err) => {
reject(err);
});
});
}
}
非常感谢任何帮助!