Rails实现字段加密存储(rail是什么意思)干货满满

随心笔谈2年前发布 编辑
153 0
🌐 经济型:买域名、轻量云服务器、用途:游戏 网站等 《腾讯云》特点:特价机便宜 适合初学者用 点我优惠购买
🚀 拓展型:买域名、轻量云服务器、用途:游戏 网站等 《阿里云》特点:中档服务器便宜 域名备案事多 点我优惠购买
🛡️ 稳定型:买域名、轻量云服务器、用途:游戏 网站等 《西部数码》 特点:比上两家略贵但是稳定性超好事也少 点我优惠购买


class EncryptedStringSerializer
def self.load(value)
value.to_s.blank? ? ” : decrypt(value)
end

def self.dump(value)
encrypt(value || ”)
end

private

def self.encrypt(value)
encryptor.encrypt_and_sign(value)
end

def self.decrypt(value)
encryptor.decrypt_and_verify(value)
end

def self.encryptor
@encryptor ||=ActiveSupport::MessageEncryptor.new(Settings.message_encryptor_key)
end
end

class UserAddress < ActiveRecord::Base
serialize :phone, EncryptedStringSerializer
serialize :first_name, EncryptedStringSerializer
serialize :last_name, EncryptedStringSerializer
serialize :country, EncryptedStringSerializer
serialize :state, EncryptedStringSerializer
serialize :city, EncryptedStringSerializer
serialize :address1, EncryptedStringSerializer
serialize :address2, EncryptedStringSerializer
serialize :zipcode, EncryptedStringSerializer
end

© 版权声明

相关文章