0

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

作为第二个问题,假设它是可扩展的(我确信它是可扩展的),这些天合适的成本因素是多少?

4

1 回答 1

1

这可能更适合其他 Stackoverflow 站点之一,因为它将促进讨论并且不是特定的编程问题。

也就是说,您提出的第一个问题很可能会通过使用可以根据需要扩展以服务并发身份验证请求的服务来解决,从而为最终用户提供可接受的响应时间。一种方法是在负载均衡器后面设置多个服务器,将身份验证请求路由到负载均衡器以移交给身份验证服务器。单个身份验证请求将在基本上随机的服务器上运行,并且如果您的系统架构是正确的,那么从客户端的角度来看,它将是无缝的。

于 2014-07-24T13:09:50.860 回答