gpt4 book ai didi

ruby-on-rails - 当使用 attr_encrypted 进行 activerecord 存储时,我得到 nil 和 Empty

转载 作者:太空宇宙 更新时间:2023-11-03 16:01:20 24 4
gpt4 key购买 nike

我正在使用 https://github.com/attr-encrypted/attr_encrypted 用于加密 具有以下属性的 ***用户模型*** 的事件记录。

   activation_hash string    details string    email string    imei string    password string    registration_id string    secure_hash string  

I used these attributes as

attr_encrypted_options.merge!(:prefix => 'android_', :suffix => '_sheild')  
attr_encrypted :activation_hash, :key => Getter::encryption_key, :encode => true
attr_encrypted :active, :key => Getter::encryption_key, :encode => true
attr_encrypted :code, :key => Getter::encryption_key, :encode => true
attr_encrypted :details, :key => Getter::encryption_key, :encode => true
attr_encryptor :email, :key => "this is awais"
attr_encrypted :password, :key => Getter::encryption_key, :encode => true
attr_encrypted :registration_id, :key => Getter::encryption_key, :encode => true
attr_encrypted :secure_hash, :key => Getter::encryption_key, :encode => true
attr_encrypted :imei, :key => Getter::encryption_key, :encode => true

如 attr_encrypted wiki 中所述,但当我将记录保存在数据库中时为空字符串。

在 Getter 中我添加了通用加密 key 方法..

    module Getter

def self.encryption_key
keys = OpenSSL::Cipher::Cipher.new('aes-256-cbc').random_iv
return keys
end
end

我是否需要使用我在用户模型中添加的加密属性来添加迁移..我的目标是加密 activerecord 数据并将该字段保存到数据库中,当我检索时我可以获得解密的记录,但在数据库级别这些记录不可访问。

你能告诉我我做错了什么吗??我需要切换 gem 吗?

非常感谢您的建议

最佳答案

According to the attr_encrypted documentation :

By default, the encrypted attribute name is encrypted_#{attribute} (e.g. attr_encrypted :email would create an attribute named encrypted_email). So, if you're storing the encrypted attribute in the database, you need to make sure the encrypted_#{attribute} field exists in your table.

您似乎没有以预期的格式命名您的字段。

关于ruby-on-rails - 当使用 attr_encrypted 进行 activerecord 存储时,我得到 nil 和 Empty,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24260433/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com