Хеш-функция Bcrypt возвращает неопределенный результат - PullRequest
0 голосов
/ 29 апреля 2019

В контроллере я пытаюсь создать хеш и сохранить его с пользователем, используя этот раздел кода.

router.post('/', (req, res)=>{
   console.log(req.body.password, process.env.SALT_ROUNDS);
   bcrypt.hash(req.body.password, process.env.SALT_ROUNDS, function (err, hash) {
        if(err) {
           res.status(500);
        }  
        console.log("hash ", hash, req.body.password);
        // await req.context.models.User.create({
        //     username: req.body.username,
        //     email: req.body.email,
        //     password: hash })
        //       .then(function(data) {
        //           console.log("user saved")
        //           if (data) {
        //           res.send(data);
        //       }
        //  });
   });
});

Но результат функции обратного вызова внутри аргумента hash не определен. Вот логи.

asd123 10

хеш не определен asd123

В чем проблема, этот хэш не определен?

1 Ответ

0 голосов
/ 29 апреля 2019

Оказалось, что process.env.SALT_ROUNDS - строка, и я не совсем понял это из возвращенного результата. Когда я анализирую его по номеру +process.env.SALT_ROUNDS, это сработало.

asd123 10

хеш $ 2b $ 10 $ Ty3JNeIBXUizrS85MsH8H.oTNsRtXzdiv9ZdamxnG7CmPD2CjSZG2 asd123

...