gpt4 book ai didi

ruby-on-rails - Rails 3 Devise 停止使用更多加密 "stretches"

转载 作者:行者123 更新时间:2023-12-04 06:23:13 28 4
gpt4 key购买 nike

每当我把 config.stretches = 20config/initializers/devise.rb ,服务器对加密请求超时。

响应时间在 15 段是可以忍受的,然后随着我提高段值而迅速增加,并在 19 时变得完全无法使用。我不太了解这个值可能对性能产生的影响,但它肯定不应该是指数级的,这是我所经历的。显然我不需要为除了 authlogic 兼容性之外的任何东西提高这个值,但无论如何它似乎是错误的。

我通过全新安装 https://github.com/plataformatec/devise_example/ 验证了这一点.

在 Ubuntu 11.04、任何 3.0.x rails 版本、3.1.0.beta1、devise 1.3.1 和 1.3.4、mysql、pg、sqlite 驱动程序上观察到此行为。这适用于 brcypt以及 sha1加密器。

最佳答案

这是预期的行为(尤其是对于可以说更好的 bcrypt)。此值的唯一目的是降低性能以提高安全性。

散列时你不想要速度,因为这允许攻击者在给定的时间跨度内尝试更多的事情。这篇文章解释了这一点:http://codahale.com/how-to-safely-store-a-password/ .

在设计中,延伸用于将工作因子调整得更高,以便密码花费可配置的长时间来散列。可配置的性质是必要的,原因有两个:1)不同的应用程序具有不同的可接受的性能特征;2)随着计算机变得更快,您应该能够增加工作系数以保持相同的性能。

这个想法是您应该将此值配置为尽可能高,同时保持可接受的性能。目标不是让登录花费 60 秒,而是让它花费超过一微秒或两微秒。如果您可以找到将请求减慢到大约 200 毫秒左右的延伸值,那么这可能就是您想要的。

关于ruby-on-rails - Rails 3 Devise 停止使用更多加密 "stretches",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5930376/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com