実際には、user_pass
ハードコードされたキーでフィールドを暗号化することから始めました。
class Credential < ApplicationRecord
..
attr_encrypted :user_pass, key: 'This is a key that is 256 bits!!'
..
end
このキーで暗号化されたデータが既にあります。ここで、キーをハードコードされた形式で保存したくないので、半分のキーをファイル システムに保存し、残りの半分をテーブルに保存して、それらを結合します。
class Credential < ApplicationRecord
..
attr_encrypted :user_pass, key: :encryption_key
..
def encryption_key
Rails.root.join('private', 'key').read + Setting.where(name: 'key').last.value
end
end
すでに暗号化されているデータを現在のキーで暗号化するにはどうすればよいですか?