Я использовал brypt один раз для аутентификации по паролю. По некоторым причинам я не могу установить его на несколько машин. В любом случае я установил bcrypt js вместо этого.
const bcrypt = require('bcryptjs')
const salt = bcrypt.genSaltSync(10);
const hash = bcrypt.hashSync("hallo", salt);
console.log(hash);
Я выполнил код шесть раз и получил следующие шесть выводов:
$2a$10$SnIj6q67OvPXINLeajqONebAjZltLwrqs8OU/5C871NyTib.SJeyu
$2a$10$8aLhlLvYi5RcuV40SansxOuQroS.SPmPG6GMjsRlcndjjzRSJkFRu
$2a$10$wZJCuAUwtG9v.oh8tgZ9M.unYBe/MRv0jO3IU51gLz8XI1ClYJni6
$2a$10$mGhPf85kGpn/PBdV3JjDsuXypnQ.E2pBTEoDtDZ/eW6qsq5DAb6M6
$2a$10$WkEro4eOiuqzE0.hB/ka2eyPUpWE/Dv5dWkqSZ3yujQ2PA3iRYJMC
$2a$10$l4GVALWSvWdcOin37WXsQeIufA7SHxvhU.9dIasXspsSPi1e1/IeG
, но этот дополнительный код сравнивает его на самом деле
const hallo = bcrypt.compareSync("hallo", hash);
console.log(hallo); //always true
const burger = bcrypt.compareSync("burger", hash);
console.log(burger); //always false
как действительно ли bcrypt сравнивает ha sh со строкой? Разве он смотрит только на первые 7 одинаковых символов?
спасибо
Амит