【发布时间】:2020-06-11 12:36:09
【问题描述】:
我有用户表和兑换表。因此,出于安全原因,我们加密了用户表电子邮件和移动列。
加密前的用户表列:
id | mobile | email | name |
加密后的用户表列:
id | name | email_ciphertext | mobile_ciphertext | email_bidx | mobile_bidx
用户.rb
has_many :redemptions
赎回.rb
belongs_to :用户
因此,我想在一个地方获取兑换信息以及用户详细信息。我在加密用户的手机和电子邮件之前的查询是
Redemption.joins(:user).group('users.id, users.mobile').select('users.id AS uid, users.name AS uname, users.email AS uemail, users.mobile AS umobile, count(distinct(redemptions.id)) AS total)
所以这会给我用户和他们的赎回计数。现在我已经使用 Lockbox 和 BlindIndex 加密了我的数据,并从 users 表中删除了 email 和 mobile 列,我应该遵循什么方法来获得与上述查询相同的结果。
【问题讨论】:
标签: sql ruby-on-rails postgresql encryption lockbox-3