首页 > 解决方案 > attr_encrypted gem 必须指定一个 iv - Ruby on Rails

问题描述

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

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

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

class AddPushNotificationColumnsToUser < ActiveRecord::Migration[5.1]
  def change
    add_column :users, :endpoint, :string
    add_column :users, :expiration_time, :string
    add_column :users, :encrypted_p256dh, :string
    add_column :users, :encrypted_auth, :string

    add_column :users, :encrypted_p256dh_iv, :string
    add_column :users, :encrypted_auth_iv, :string
  end
end

我的模型:

attr_encrypted :p256dh, key: Rails.application.secrets.db_encryption_key
attr_encrypted :auth, key: Rails.application.secrets.db_encryption_key

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

任何帮助,将不胜感激。

标签: ruby-on-railsrubyruby-on-rails-5attr-encrypted

解决方案


推荐阅读