bcrypt بدون نیاز به ذخیره نمک؟
من با bcrypt اشتباه گرفته ام، من فکر می کنم نیاز دارم که نمکم را ذخیره کنم، و سپس متن رمز ساده + نمک را به رمز عبور هشدار مقایسه کنم، اما از اسناد و مدارک آن به نظر نمی رسد که ذخیره سازی نمک ضروری باشد . در واقع من از این کد برای ایجاد نمک و هشدار رمز عبور استفاده کردم:
let salt = در انتظار bcrypt.genSalt (10)؛
const saltpasshash = در انتظار تحریم جدید ((حل و فصل، رد) => {
bcrypt.hash (plain_text_password، salt، function (err، hash) {
اگر (اشتباه) رد (اشتباه)
حل (هش)
})؛
})
// توجه داشته باشید که من نمیتوانم saltpasshash را به عنوان کاربران عبور و نمک در یک فیلد جداگانه در جدول کاربران.
این کار می کند، چیزی که من در مورد آن اشتباه می گیرم این است که پس از آن یک نتیجه معتبر را در صورتی که به صورت زیر مقایسه شود، بازگردانم:
valid = waiting for bcrypt.compare (plain_text_password، user.saltpasshash)؛
من اشتباه می کنم که چرا این صحیح است وقتی که من نمک را ارائه نمی دهم، و اگر چنین است، چرا نمک را به طور کلی نگه دارید؟