次のコードを使用して、DB に保存する前にユーザー パスワードをハッシュ (できればソルト) します。
// hash the password before the user is saved
ConsultantSchema.pre('save', function(next) {
var user = this;
// hash the password only if the password has been changed or user is new
if (!user.isModified('password')) return next();
// generate the hash
bcrypt.hash(user.password, null, null, function(err, hash) {
if (err) {
logger.error("bcrypt.hash "+err);
return next(err);
}
// change the password to the hashed version
user.password = hash;
next();
});
});
私が混乱しているのは、その部分です
bcrypt.hash(user.password, null, null, function(err, hash) {
私はチュートリアルからこのコードを取得しましたが、答えを探していることがよくあります。bcrypt のドキュメント ( https://www.npmjs.com/package/bcrypt )に基づいて、次のコードを期待していました
const saltrounds = 10;
bcrypt.hash(user.password, saltRounds, function(err, hash) {
動作していますが、これによりプログラムがエラーなしで中断されます。
私の質問は次のとおりです。なぜ2つの「null」引数があるのですか? それらは何のため?ハッシュは、2 つの null を含むコードに基づいてソルトされていますか?
助けてくれてありがとう!