Question

刚开始接触这种加密方式,而又对加密原理不了解时,很容易产生这种疑问❔:

    对一个密码,bcryptjs每次生成的hash都不一样,那么它是如何进行校验的?

Basic verification

    虽然对同一个密码,每次生成的hash不一样,但是hash中包含了salt(hash产生过程:先随机生成salt,salt跟password进行hash);
    在下次校验时,从hash中取出salt,salt跟password进行hash;得到的结果跟保存在DB中的hash进行比对,compareSync中已经实现了这一过程:bcrypt.compareSync(password, hashFromDB);

相关文章:

  • 2021-11-06
  • 2022-12-23
  • 2021-08-03
  • 2022-12-23
  • 2021-10-13
  • 2021-08-23
  • 2021-12-15
  • 2022-12-23
猜你喜欢
  • 2021-09-15
  • 2022-12-23
  • 2019-04-01
  • 2021-10-07
  • 2021-11-16
  • 2021-12-06
  • 2021-05-16
相关资源
相似解决方案