Rails ActiveRecord 将会增加字段加密功能

Rei · 2021年03月12日 · 最后由 zj0713001 回复于 2021年03月23日 · 1076 次阅读

Basecamp 把他们用在 Hey.com 的字段加密功能开源出来了,不是一个 gem,而是集成到 ActiveRcord。这可以替代 attr_encrypted 等加密 gem,减少维护的依赖。

用起来会是这个样子:

class Person < ApplicationRecord
  encrypts :name
  encrypts :email_address, deterministic: true
end

# Person.find_by(name: "jorge") # doesn't work
# Person.find_by(email_address: "jorge@basecamp.com") # works

详情可以看 PR(进行中):https://github.com/rails/rails/pull/41659

什么场景

pynix 回复

手机号、银行卡、身份证这类敏感信息加密储存,单独拿到数据库不能解读,需要同时拿到密钥,多一层保护。

🍺 这个可以用

这功能真棒。不需要额外的 gem 了。

如果程序和数据库是在同一主机,这个功能就没有意义了。

其实我更期待一个连运营者也无法知道内容的加密 Gem.

这种加密就应该两个服务拆开 应用服务根据自己的秘钥找加密服务要数据 加密服务根据自己的秘钥和应用的秘钥加密解密存库 加密服务在堡垒里 多一层安全保障

这样应用的服务器被破了也不会影响数据 因为大部分场景都是应用服务被破了 然后代码和数据库连接都被拿到了 不太会出现单破数据库的情况了

zj0713001 回复

那么加密服务器可以用这个功能来开发,两个 Rails app。

Rei 回复

是 也挺好

需要 登录 后方可回复, 如果你还没有账号请 注册新账号