【发布时间】:2018-03-22 12:44:57
【问题描述】:
我了解在数据库中存储密码时,最好使用 bcrypt、scrypt 或 argon2 等慢速哈希函数。我读过的大多数关于选择参数(例如时间和内存成本)的文档都建议将值设置得尽可能高,以在攻击者访问您的数据库时阻止密码破解尝试。我的问题是在 Web 应用程序中对用户进行身份验证时可以接受什么样的资源消耗?我知道这个问题的答案会因执行身份验证的服务器的规格、身份验证发生的频率等因素而异,但我想就什么是明智的和什么不应该得到一些一般性建议吨。密码验证花费一秒钟是否太长?如果我的服务器有 8GB 内存,那么使用 1GB 的哈希内存成本是否太高?我希望有问题的应用程序只会偶尔执行密码身份验证,因为它对大多数请求使用基于令牌的身份验证。
【问题讨论】:
标签: web-services authentication restful-authentication password-hash