问题标签 [attr-encrypted]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
1100 浏览

ruby-on-rails - attr_encrypted gem 必须指定一个 iv - Ruby on Rails

我正在尝试User在 Ruby on Rails 中加密我的模型上的两列。我已经成功加密了另一个表上的 6 个其他列,但这次我must specify an iv只在User表上得到错误。

我正在使用设计 gem 进行身份验证。

这是我添加列的原始迁移:

我的模型:

当我打电话User.first.p256dhUser.first.auth收到错误消息时:must specify an iv

任何帮助,将不胜感激。

0 投票
0 回答
837 浏览

ruby-on-rails - 使用 attr_encrypted Rails 加密模型的现有字段

我想安装以下 gem https://github.com/attr-encrypted/attr_encrypted来加密我现有模型的一些字段。例如,带有,等 的User模型。我的应用程序已经部署,所以我不想犯任何愚蠢的错误。first_namelast_name

我通过此链接( https://qiita.com/alokrawat050/items/ff6dceec32baa0c8fa57 )了解如何使用新模型进行处理,但是我应该如何处理现有的 db et 模型?

我正在考虑执行以下步骤:

  1. 安装宝石。
  2. 在我的模型中添加以下行:

    /li>
  3. 创建一个新的迁移:

    /li>
  4. rake db:migrate


(已编辑)

按照上述步骤,当我在控制台中查看 db 时,我仍然有first_nameandlast_name字段:

如果我做:

它正确加密它。

下一步是使用first_nameand删除列last_name

有没有办法从模型中复制未加密的字段first_namelast_name直接加密它们,还是我必须手动为所有这些字段进行加密?

0 投票
1 回答
1123 浏览

ruby-on-rails - 必须指定一个 iv attr_encrypted,如何检查登录名和密码

您好有以下型号:

我在模型中添加了 4 列

现在想检查邮箱和密码是否正确,但不知道如何处理:

但是当我这样做时:

我收到了这个错误:

问题是,我从哪里获得 iv,如果登录正确,我如何加密以便能够在数据库中进行测试?

非常感谢!

0 投票
1 回答
383 浏览

ruby-on-rails - 使用 attr_encrypted 更新现有的未加密记录

如何更新以前使用 gem attr_encrypted 未加密的现有记录。

我目前有text一个名为的表中的列,AppointmentNote它只是一个字符串。我现在想要一个名为note加密的列(使用 attr_encrypted)。

我已经添加了列

encrypted_note encrypted_note_iv

当我AppointmentNote.create(note: "blah")正确加密时,这很好用,并且对该记录的任何进一步更新都很好用。

问题在于迁移之前创建的记录。如何将列中的所有数据迁移text到新的加密列encrypted_noteencrypted_note_iv

这是模型

如果我做我认为明显的解决方案就是简单地回滚 AppointmentNote.first.update(note: "rawr")

谢谢

0 投票
1 回答
126 浏览

ruby-on-rails - 更新不同密钥的加密字段

实际上,我从user_pass使用硬编码密钥加密字段开始。

我已经用这个密钥加密了一些数据。现在,我不想以硬编码格式保存密钥,因此将一半密钥保存在文件系统中,另一半保存在表中并将它们组合起来。

如何使用当前密钥加密已经加密的数据?

0 投票
1 回答
90 浏览

ruby-on-rails - 从 attr_encrypted 迁移到 vault-rails gem

早些时候,我的代码使用“attr_encrypted”加密方法,但后来我改变主意集成保险库进行加密/解密。所以我想了解如何将我保存的旧加密数据迁移到新数据。

0 投票
0 回答
78 浏览

ruby-on-rails - 从 attr_encrypted 和 Vault-rails 升级以获得相同的密钥

我以前使用attr_encrypted机制,

我将其升级为vault-rails

我想以某种方式保留两者,如果某些数据已经保存使用attr_encrypted然后使用它,并为新用户使用保险库,或者如果任何旧用户正在更新他们的数据。

0 投票
0 回答
584 浏览

ruby-on-rails - 如何使用 attr_encrypted(在旧数据上)用新密钥加密新数据?

我正在使用attr_encrypted,并使用我不再有权访问的密钥加密了一些数据。我想使用新密钥用新数据覆盖现有/旧数据。我怎样才能做到这一点?

例如,考虑一下:

以下尝试失败OpenSSL::Cipher::CipherError

根据堆栈跟踪(如下),我认为这是由于attr_encrypted尝试decrypt首先尝试的事实 - 由于密钥不同,这显然不起作用。有没有办法规避这种情况,只需iv使用新密钥写入新数据和 ?

0 投票
1 回答
1740 浏览

ruby-on-rails - RSpec:工厂机器人定义文件中的方法存根

我有一个模型,它使用attr_encryptedgem 来加密密码。

我正在学习编写测试用例,我的工厂如下所示:

我的规范文件如下所示:

如何encryption_key在工厂定义中存根方法,当时正在使用create

0 投票
0 回答
459 浏览

ruby-on-rails - 使用 attr-encrypt gem 加密但无法解密

使用 gem:https ://github.com/attr-encrypted/attr_encrypted

问题一:

当我创建记录并加密时,我转到控制台(通过 Heroku)并执行以下操作:

错误:OpenSSL::Cipher::CipherError ()

问题 2:

我创建记录,进行编辑,参数显示已解密(不确定它是否在控制台中不起作用,但确实如此)......

一旦我重新提交(git push heroku master)或重新启动heroku,编辑页面就会给我这个错误:ActionView::Template::Error ()

错误出现在 text_field 属性的行publishable key

我的设置:

架构:

尝试删除索引但仍然存在错误。

模型:

还尝试过:

没有key = Base64.encode64(SecureRandom.random_bytes(32))我得到错误“需要 32 个字节”。

使用上述内容,属性将保存,但在解密时,在视图和控制台中,我都会收到错误:

iv must be 12 bytes or longer

我做错了什么,这不起作用?