bcrypt очень медленно на сервере nodejs - PullRequest
0 голосов
/ 09 июля 2020

В моем test.js файле есть следующий код:

const bcrypt = require("bcrypt");
const { performance } = require("perf_hooks");

let hash = "$2b$20$v38KOyF2WSaJI/wcxSKN6u1iyvjfOu.Tjs3QHKCW2O4nCt0rTUgMu";
let password = "7!E:J|8yvGw$v]xXfKngkUAw3]EQ?B";

async function checkPassword() {
  let t = performance.now();
  if (await bcrypt.compare(password, hash)) {
    console.log("Passed! ", performance.now() - t);
  } else {
    console.log("Failed! ", performance.now() - t);
  }
}

checkPassword();

Затем я запускаю node test.js

Я получаю следующие результаты:

Passed!  59178.30090880394          < for a correct password
Failed!  59386.33465099335          < for an incorrect password

Это почти минута для базовой c проверки! Это ожидаемый результат?

Мой пакет. json использует:

"dependencies": {
  "bcrypt": "^5.0.0",
  ...

Я не получаю ошибок в консоли, все завершается правильно. Пароль, который я хэширую:

7!E:J|8yvGw$v]xXfKngkUAw3]EQ?B

Это слишком долго? Я не совсем понимаю, как работает bcrypt, если это не очевидно!

...