Я пытаюсь зашифровать два столбца в моей модели User
в Ruby on Rails. Я уже успешно зашифровал 6 других столбцов в другой таблице, но на этот раз я получаю сообщение об ошибке must specify an iv
только в таблице User
.
Я использую devise 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.p256dh
или User.first.auth
, я получаю сообщение об ошибке: must specify an iv
Любая помощь будет оценена по достоинству.
attr_encrypted
вы используете? Похоже, что с более новыми версиями могут быть некоторые проблемы - github.com/attr-encrypted/ attr_encrypted/issues/306 - person supremebeing7   schedule 19.07.2018