我知道 Bcrypt 的全部意义在于在散列以限制暴力攻击的实用性时会耗费大量时间。但是,这不是使它本质上不可扩展吗?例如,我读过的一个网站声称应该调整 Bcrypt 中的成本因素,以便在当前硬件上散列需要 0.25 秒。如果您有一个中等成功的网站,即使有几百人随时登录,0.25 秒的复合时间是否会使每个用户都可能等待几秒钟?散列 0.25 秒时服务器的 CPU 是否会达到最大值,从而导致持续的高资源使用?
作为第二个问题,假设它是可扩展的(我确信它是可扩展的),这些天合适的成本因素是多少?
我知道 Bcrypt 的全部意义在于在散列以限制暴力攻击的实用性时会耗费大量时间。但是,这不是使它本质上不可扩展吗?例如,我读过的一个网站声称应该调整 Bcrypt 中的成本因素,以便在当前硬件上散列需要 0.25 秒。如果您有一个中等成功的网站,即使有几百人随时登录,0.25 秒的复合时间是否会使每个用户都可能等待几秒钟?散列 0.25 秒时服务器的 CPU 是否会达到最大值,从而导致持续的高资源使用?
作为第二个问题,假设它是可扩展的(我确信它是可扩展的),这些天合适的成本因素是多少?