问题标签 [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.
ruby-on-rails - attr_encrypted gem 必须指定一个 iv - Ruby on Rails
我正在尝试User
在 Ruby on Rails 中加密我的模型上的两列。我已经成功加密了另一个表上的 6 个其他列,但这次我must specify an iv
只在User
表上得到错误。
我正在使用设计 gem 进行身份验证。
这是我添加列的原始迁移:
我的模型:
当我打电话User.first.p256dh
或User.first.auth
收到错误消息时:must specify an iv
任何帮助,将不胜感激。
ruby-on-rails - 使用 attr_encrypted Rails 加密模型的现有字段
我想安装以下 gem https://github.com/attr-encrypted/attr_encrypted来加密我现有模型的一些字段。例如,带有,等
的User
模型。我的应用程序已经部署,所以我不想犯任何愚蠢的错误。first_name
last_name
我通过此链接( https://qiita.com/alokrawat050/items/ff6dceec32baa0c8fa57 )了解如何使用新模型进行处理,但是我应该如何处理现有的 db et 模型?
我正在考虑执行以下步骤:
- 安装宝石。
在我的模型中添加以下行:
/li>创建一个新的迁移:
/li>rake db:migrate
(已编辑)
按照上述步骤,当我在控制台中查看 db 时,我仍然有first_name
andlast_name
字段:
如果我做:
它正确加密它。
下一步是使用first_name
and删除列last_name
:
有没有办法从模型中复制未加密的字段first_name
并last_name
直接加密它们,还是我必须手动为所有这些字段进行加密?
ruby-on-rails - 必须指定一个 iv attr_encrypted,如何检查登录名和密码
您好有以下型号:
我在模型中添加了 4 列
现在想检查邮箱和密码是否正确,但不知道如何处理:
但是当我这样做时:
我收到了这个错误:
问题是,我从哪里获得 iv,如果登录正确,我如何加密以便能够在数据库中进行测试?
非常感谢!
ruby-on-rails - 使用 attr_encrypted 更新现有的未加密记录
如何更新以前使用 gem attr_encrypted 未加密的现有记录。
我目前有text
一个名为的表中的列,AppointmentNote
它只是一个字符串。我现在想要一个名为note
加密的列(使用 attr_encrypted)。
我已经添加了列
encrypted_note
encrypted_note_iv
当我AppointmentNote.create(note: "blah")
正确加密时,这很好用,并且对该记录的任何进一步更新都很好用。
问题在于迁移之前创建的记录。如何将列中的所有数据迁移text
到新的加密列encrypted_note
和encrypted_note_iv
这是模型
如果我做我认为明显的解决方案就是简单地回滚
AppointmentNote.first.update(note: "rawr")
谢谢
ruby-on-rails - 更新不同密钥的加密字段
实际上,我从user_pass
使用硬编码密钥加密字段开始。
我已经用这个密钥加密了一些数据。现在,我不想以硬编码格式保存密钥,因此将一半密钥保存在文件系统中,另一半保存在表中并将它们组合起来。
如何使用当前密钥加密已经加密的数据?
ruby-on-rails - 从 attr_encrypted 迁移到 vault-rails gem
早些时候,我的代码使用“attr_encrypted”加密方法,但后来我改变主意集成保险库进行加密/解密。所以我想了解如何将我保存的旧加密数据迁移到新数据。
ruby-on-rails - 从 attr_encrypted 和 Vault-rails 升级以获得相同的密钥
我以前使用attr_encrypted
机制,
我将其升级为vault-rails
:
我想以某种方式保留两者,如果某些数据已经保存使用attr_encrypted
然后使用它,并为新用户使用保险库,或者如果任何旧用户正在更新他们的数据。
ruby-on-rails - 如何使用 attr_encrypted(在旧数据上)用新密钥加密新数据?
我正在使用attr_encrypted
,并使用我不再有权访问的密钥加密了一些数据。我想使用新密钥用新数据覆盖现有/旧数据。我怎样才能做到这一点?
例如,考虑一下:
以下尝试失败OpenSSL::Cipher::CipherError
根据堆栈跟踪(如下),我认为这是由于attr_encrypted
尝试decrypt
首先尝试的事实 - 由于密钥不同,这显然不起作用。有没有办法规避这种情况,只需iv
使用新密钥写入新数据和 ?
ruby-on-rails - RSpec:工厂机器人定义文件中的方法存根
我有一个模型,它使用attr_encrypted
gem 来加密密码。
我正在学习编写测试用例,我的工厂如下所示:
我的规范文件如下所示:
如何encryption_key
在工厂定义中存根方法,当时正在使用create
?
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
我做错了什么,这不起作用?