Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Bcrypt伸展(带Desive)和Heroku dynos_Ruby On Rails_Heroku_Devise_Ruby On Rails 5_Bcrypt - Fatal编程技术网

Ruby on rails Bcrypt伸展(带Desive)和Heroku dynos

Ruby on rails Bcrypt伸展(带Desive)和Heroku dynos,ruby-on-rails,heroku,devise,ruby-on-rails-5,bcrypt,Ruby On Rails,Heroku,Devise,Ruby On Rails 5,Bcrypt,我目前正在审查使用Desive生成的管理模型的安全性。这引发了很多关于Heroku的网络达人如何处理密码加密的问题 第一个问题: 我对bcrypt成本的默认设计设置是config.streams=Rails.env.test?1:11这是否意味着测试环境有11个拉伸?看起来默认拉伸是11,我可以确认我在开发环境下的哈希也是11。那么为什么要指定11作为测试呢 我计划使用config.streams=12提升到12 第二个问题: 如果我加大力度,加密时间就会增加。它会冻结我的应用程序并阻止其他访问

我目前正在审查使用Desive生成的管理模型的安全性。这引发了很多关于Heroku的网络达人如何处理密码加密的问题

第一个问题:

我对bcrypt成本的默认设计设置是
config.streams=Rails.env.test?1:11
这是否意味着测试环境有11个拉伸?看起来默认拉伸是11,我可以确认我在开发环境下的哈希也是11。那么为什么要指定11作为测试呢

我计划使用
config.streams=12提升到12

第二个问题:

如果我加大力度,加密时间就会增加。它会冻结我的应用程序并阻止其他访问者向该应用程序发出http请求吗?可以向web dyno发出多少并发http请求,也可以向web dyno发出多少并发密码加密(如果这是不同的)

我对dynos的了解并不深入,但我知道一个worker dyno可以根据处理器内核对多个Sidekiq worker执行线程。。虽然dyno没有指定内核的数量,我也不知道这是否也适用于web dyno


基本上我知道提高strectches会增加加密时间,但它会影响整个应用程序的效率吗

config.streams=Rails.env.test?1:11
将仅使用1进行测试,否则为11。这是为了加快测试速度,因为在测试环境中确保密码安全没有任何意义

如果您计划使用12,那么使用
config.streams=Rails.env.test?1:12


更多拉伸需要更多计算。通常,这不会成为性能问题,除非您发现了真正的问题,否则不要对此进行优化或集中精力。

config.streams=Rails.env.test?1:11
将仅使用1进行测试,否则为11。这是为了加快测试速度,因为在测试环境中确保密码安全没有任何意义

如果您计划使用12,那么使用
config.streams=Rails.env.test?1:12


更多拉伸需要更多计算。通常情况下,这不会影响性能,除非您发现了真正的问题,否则不要对此进行优化或关注。

配置中的这一行是

if Rails.env.test?
  config.stretches = 1
else
  config.stretches = 11
end
例如,在测试中,config.streams是1,其余时间是11

增加拉伸次数确实会增加散列密码所需的时间。“拉伸”参数会以指数方式增加时间:将时间从11更改为12会使时间加倍,因此是的,它会减少应用程序可以处理的请求数


但是,通常情况下,您仅在用户设置密码或登录等操作期间产生此成本,这只是总体请求的一小部分

if Rails.env.test?
  config.stretches = 1
else
  config.stretches = 11
end
例如,在测试中,config.streams是1,其余时间是11

增加拉伸次数确实会增加散列密码所需的时间。“拉伸”参数会以指数方式增加时间:将时间从11更改为12会使时间加倍,因此是的,它会减少应用程序可以处理的请求数


但是,通常情况下,您只会在用户设置密码或登录等操作期间产生此成本,这只是总体请求的一小部分。

这里是
设计异步拉伸的作者。它是为了在后台作业队列中进行密码拉伸而构建的

我不再积极使用(或维护)它,只在您使用SSL保护您的redis连接(大多数后台处理器都依赖于此)时才鼓励使用它


这里是
设计异步拉伸的作者。它是为了在后台作业队列中进行密码拉伸而构建的

我不再积极使用(或维护)它,只在您使用SSL保护您的redis连接(大多数后台处理器都依赖于此)时才鼓励使用它


嗨,丹尼尔,谢谢你提到这颗宝石。如果我有很多伸展运动,我会用它。但是我仍然需要在飞行中处理登录,所以在Stretches数量方面必须适度。嗨,丹尼尔,谢谢你提到这个宝石。如果我有很多伸展运动,我会用它。但是我仍然需要在运行中处理登录,因此必须在Stretches数字方面保持适度。谢谢阿诺罗,我将使用你的语法,将测试保持为1是有意义的。谢谢阿诺罗,我将使用你的语法,将测试保持为1是有意义的。谢谢弗雷德里克。我想我会在一秒钟内继续散列。然而,由于我不能异步登录,我仍然想知道一个Heroku服务器可以同时提供多少哈希服务。我的应用程序尚未公开,但公开后,我将监视dynos活动并尝试找出答案。谢谢Frederick。我想我会在一秒钟内继续散列。然而,由于我不能异步登录,我仍然想知道一个Heroku服务器可以同时提供多少哈希服务。我的应用程序尚未公开,但公开时,我将监视dynos活动并尝试找出答案。