ruby-on-rails - 用以前的加密设计

标签 ruby-on-rails ruby devise

我目前正在开发一个新的应用程序,我以前做过一个,我手动完成了所有用户,但现在我希望使用最好的方法来实现我的用户。我过去曾想过使用 gem 但由于时间原因我没有时间实现它,现在我开始重新开始我想开始使用 gem 来优化和使用 gem 必须提供的东西,因为我真的很喜欢它。

无论如何,我的问题是,出于安全原因,因为我将通过移动设备传递参数,所以我将加密密码以将其传递到我的应用程序,然后使用该加密密码再次加密以将其与加密密码,所以我想要的是一种在设计加密之前加密密码的方法,这样当移动应用程序传递加密密码时,它将与之前的加密相匹配。

我在模型上尝试了 before_save,但运气不好,它只是将 encrypted_pa​​ssword 保存为空,我不确定为什么。

tl;dr 我需要在 gem 之前加密,尝试在模型上使用 before_save/before_create 进行加密,但没有用,有人知道有什么方法吗?

最佳答案

请考虑以下事实:如果您在发送密码之前使用一种允许您在服务器级别解密它的方法加密密码,那么这意味着您的方法不是单向的,并且发送的密码可能会被解密其他人使用中间人攻击。那你一点都不安全。

使用 HTTPS/SSL 发送这种敏感数据要好得多。它对您在传输级别发送的所有内容进行加密,并且以一种比您自己可以实现的任何方式都更好的方式来做到这一点,没有冒犯的意思。

关于ruby-on-rails - 用以前的加密设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36928226/

相关文章:

ruby-on-rails-3 - 使用设计 : could not find valid mapping 进行 RSpec 测试

mysql - 在没有 Arel 的情况下如何在 Rails 中编写此查询

ruby-on-rails - 在 Rails 环境之外测试(使用 RSpec) Controller

ruby - 当猴子修补实例方法时,您可以从新实现中调用覆盖的方法吗?

ruby-on-rails - 设计安全扩展 config.password 正则表达式被忽略

ruby-on-rails - Rails 设计错误 "No route matches [GET] "/users/sign_out""

ruby-on-rails - 自定义验证 : referencing parent association from model created by accepts_nested_attributes_for

ruby-on-rails - Teamcity 自定义报告选项卡

ruby-on-rails - Carrierwave:保存原始文件名不起作用

javascript - 使用 AJAX/Javascript 创建 Rails 对象