В моем 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
, если это не очевидно!