我一直在看到建议使用 bcrypt 来散列密码,因为它能够跟上摩尔定律。
显然,这是因为攻击者破解 bcrypt 哈希需要比 SHA256 等通用哈希函数生成的哈希更长的时间。
这怎么可能?尽管存在摩尔定律,算法怎么会故意变慢?
最佳答案
bcrypt可使用名为“工作系数”的参数进行配置。在内部,它将连续多次执行类似于散列的操作。 “多”是可以配置的部分,最多几十亿。因此,要应对摩尔定律,只需提高该设置即可。另一个可以根据需要变慢的函数是 PBKDF2 (参见“迭代计数”参数)。
请注意,使密码散列变慢的目的是让攻击者感到困难,但它也会机械地使“诚实系统”的事情变慢;这是一种权衡。见 this answer (在 security.stackexchange 上)了解更多详情。
关于security - bcrypt 如何跟上摩尔定律?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7453236/