隐式加密
仅企业版支持
优点:
- 设置相对简单整体加密
- 操作不受影响
缺点:
- 不支持物理备份
- 一旦设置后无法切换至不加密状态
显示加密
方案1:mongoose-encryption
优点:
- 设置简单
- 支持所有mongoose类型
- 处理速度快
- 生成的加密文档小
- 无副作用
缺点:
- 无法查询加密后的字段
- 如果只想解密文档的子集,可能会变慢
- 无法取消加密字段
- 无法重命名加密字段
方案2: mongoose-field-encryption
优点:
- 设置简单
- 处理速度快
- 为每个字段生成可控制的加密标识
- 可查询加密后的文档
缺点:
- 需要通过加密后的字符查询文档
- 更新操作带有副作用