bcrypt вызывает сбой приложения при генерации соли или хешированного пароля - PullRequest
0 голосов
/ 12 ноября 2018

Согласно документации по bcrypt npm, я пытался включить пакет, но не смог использовать пакет bcrypt в своем приложении, поэтому для тестирования bcrypt отдельно я создал пример js-файла, который также не работает при выполнении, не выдавая никакой ошибки. Ниже приведен файл js, который я пытался проверить. Я попытался передать значение константы хэш-функции, которая также не работает.

const bcrypt = require('bcrypt');
async function run(){
const saltValue =await bcrypt.genSalt(10);
bcrypt.hash('12345',saltValue)
.then(result => console.log(result))
.catch(error => console.log(error));
}
run();

Версия: узел: 9.0.0 нпм: «5.5.1» "bcrypt": "^ 3.0.2",

С nodemon я получаю сообщение: приложение упало - ожидание изменений файла перед запуском ... в обычном исполнении это не показывает никакой ошибки.

Обновление:

Если поменять асинхронные методы bcrypt на синхронные, то все работает нормально,

    const saltValue = bcrypt.genSaltSync(10);
    const hashed = bcrypt.hashSync('12345',saltValue);

Я думаю, что кто-то из команды bcrypt может ответить.

Обновление : эта проблема возникла у сообщества, и немногие другие разработчики сталкиваются с той же проблемой, для получения дополнительной информации вы можете обратиться по ссылке.

https://github.com/kelektiv/node.bcrypt.js/issues/674

1 Ответ

0 голосов
/ 12 ноября 2018

bcrypt иногда может быть забавным ... заменить на bcryptjs (в любом случае, гораздо более популярным ...)

Это прекрасно работает:

const bcrypt = require('bcryptjs');

async function run() {
  const saltValue = await bcrypt.genSalt(10);
  bcrypt
    .hash('12345', saltValue)
    .then(result => console.log(result))
    .catch(error => console.log(error));
}
run();
...