2017-10-11 233 views
4

我正在尝试为我正在制作的一个节点应用程序配置Bcrypt,并且有几个关于盐的问题,我希望这里的某些人可以帮助您好好回答。什么是Salt Rounds以及Salt如何存储在Bcrypt中?

  • 什么是盐'圆'?例如,在github文档(https://github.com/kelektiv/node.bcrypt.js/)中,它使用了10的盐轮。那是什么意思?

  • Bcrypt生成的盐总是一样吗?例如,如果我将用户的散列密码保存到数据库中,那么每次密码时用于散列密码的密码是否相同?

  • 盐是如何储存的?它是否可以抵御潜在的攻击?

回答

1
  1. 随着 “盐一轮” 他们实际上指的是成本因素。成本因子控制需要多少时间来计算单个BCrypt哈希。成本因素越高,哈希轮次就越多。将成本因素增加1倍必要的时间。需要的时间越多,暴力就越困难。
  2. 盐是一个随机值,每次计算都会有所不同,所以即使对于相同的密码,结果也几乎不会相同。
  3. 盐通常以可读形式包含在生成的哈希串中。因此,存储哈希串也可以存储盐。有关更多详细信息,请参阅answer
相关问题