MassEncryption 项目使用教程
mass_encryption 项目地址: https://gitcode.com/gh_mirrors/ma/mass_encryption
1. 项目介绍
MassEncryption 是一个用于大规模数据加密的开源项目,主要用于在现有应用程序中添加加密功能。它依赖于 Active Job 来创建加密任务,以批量处理数据加密。MassEncryption 的主要用例是处理大量现有数据的加密需求。
2. 项目快速启动
2.1 安装
首先,将以下代码添加到你的应用程序的 Gemfile 中:
gem 'mass_encryption'
然后运行以下命令来安装 gem:
bundle install
2.2 使用
MassEncryption 提供了两种操作模式:
2.2.1 按轨道加密(推荐)
在这种模式下,你创建有限数量的任务来加密一批记录。每个任务代表一个轨道,当任务加密其批次时,它会排队下一个批次。
rake mass_encryption:encrypt_all_in_tracks
例如,从 ID 为 10 的帖子开始,使用 6 个加密任务进行加密:
rake mass_encryption:encrypt_all_in_tracks EXCEPT="Post" FROM_ID=10 TRACKS=6
2.2.2 并行任务加密
在这种模式下,它将简单地遍历所有记录批次并为每个批次排队一个任务。
rake mass_encryption:encrypt_all_in_parallel_jobs
例如,从 ID 为 10 的帖子开始,使用尽可能多的任务以 500 条记录的批次进行加密:
rake mass_encryption:encrypt_all_in_parallel_jobs EXCEPT="Post" FROM_ID=10 BATCH_SIZE=500
2.3 选项
你可以通过传递以下环境变量来自定义加密任务:
ONLY
:要加密的类名的逗号分隔列表。EXCLUDE
:要排除的类名的逗号分隔列表。FROM_ID
:用作锚点开始加密的 ID。BATCH_SIZE
:每个任务将加密的记录数量。TRACKS
:要使用的轨道数量(仅在按轨道加密时可用)。
3. 应用案例和最佳实践
3.1 应用案例
- 现有应用程序的加密:MassEncryption 非常适合在现有应用程序中添加加密功能,特别是当你有大量现有数据需要加密时。
- 批量数据处理:在需要对大量数据进行批量加密的场景中,MassEncryption 提供了高效的解决方案。
3.2 最佳实践
- 按轨道加密:推荐使用按轨道加密模式,因为它可以更好地控制任务数量和并发性。
- 自定义选项:根据具体需求调整环境变量,以优化加密任务的性能和效果。
4. 典型生态项目
- Active Job:MassEncryption 依赖于 Active Job 来创建和管理加密任务。
- Active Record:MassEncryption 使用 Active Record 来处理数据库记录的加密和解密。
- Rails:MassEncryption 是一个 Rails 插件,适用于基于 Rails 的应用程序。
通过以上步骤,你可以快速上手并使用 MassEncryption 项目进行大规模数据加密。
mass_encryption 项目地址: https://gitcode.com/gh_mirrors/ma/mass_encryption