22 个版本 (4 个破坏性更新)
0.6.4 | 2023 年 7 月 8 日 |
---|---|
0.6.3 | 2023 年 7 月 7 日 |
0.6.0 | 2023 年 6 月 30 日 |
0.5.9 | 2023 年 6 月 25 日 |
0.1.0 | 2023 年 5 月 28 日 |
254 在 命令行工具 中
每月 202 次下载
96KB
2K SLoC
M.E.D. (掩码、加密、解密) - 用于 CSV/JSON 文件的基于 Rust 的 CLI 工具。
背景和动机
这是一个个人爱好项目;基于观察,有时我们需要一个足够简单的 CLI 工具,具有可审计的数据掩码/加密/解密功能,用于 CSV/JSON 文件。
主要功能
- Rust 驱动的性能。
- 提供掩码和加密/解密功能。
- 内置 SQLite 驱动的审计表,可审计。
安装
从 GitHub 发布版下载
M.E.D. 的二进制名称为 med,它依赖于 med_core。
med 的预编译二进制文件存档适用于 Windows、macOS 和 Linux。未明确提及平台的用户建议下载这些存档之一。
Fedora 和 CentOS
dnf install med
用法
$ med --help
A simple to use, enterprise ready, rust powered data masking/encryption/decription cli tool
Usage: med <MODE> --file <FILE> [OPTIONS]
Arguments:
<MODE>
What mode to run the program in
Possible values:
- mask: Mask the data by *
- encrypt: Encrypt the data with provided KEY
- decrypt: Decrypt the data with provided KEY
Options:
-t, --type <TYPE> type of file we will process, available option [csv, json] [default: csv]
-k, --key <KEY> key for Encrypt and Decrypt the file.
-s, --standard <STANDARD> set the Encrypt and Decrypt standard
Possible values:
- des64: DES standard 64
- aes128: AES standard 128
- aes192: AES standard 192
- aes256: AES standard 256
-f, --file <FILE> file path for the
-c, --config <CONFIG> Sets a custom config yml path [default: conf.yaml]
-o, --output <OUTPUT> Sets a file/directory path for output [default: output]
-d, --debug <DEBUG> Sets debug flag [possible values: true, false]
-w, --worker <WORKER> Sets work flag
-h, --help Print help (see a summary with '-h')
-V, --version Print version
用户指南
配置
配置文件可以是任何给定名称的 yaml 文件。
// example of the conf.yaml
mask_symbols: "#####" # mask symbols
fields: # list of the cols/fields you want to mask
- name
- email
- phone
示例
// mask the csv files in folders
med mask -f demo/data/csv -c demo/conf/conf_csv.yaml -w 3
// mask the json files in folders
med mask -t json -f demo/data/json -c demo/conf/conf_json.yaml -w 3
// encrypt the csv files
med encrypt -f demo/data/csv -c demo/conf/conf_csv.yaml -w 4 -k YOUR_SECRET -s des64
// decrypt the json files
med decrypt -t json -f output/demo/data/json -c demo/conf/conf_json.yaml -w 5 -k YOUR_SECRET -s des64
审计数据库 (SQLite)
M.E.D. 使用 SQLite 进行审计捕获,主要确保遵循企业级审计基础标准,包括捕获、谁、何时、何地(哪台机器)、做什么以及状态等。
元数据和迁移可在 此处 查看。
审计数据库的位置将根据您的操作系统而有所不同。
位置
平台 | 值 | 示例 |
---|---|---|
Linux | $HOME/.config/med | /home/bob/.config/med |
MacOS | $HOME/Library/Application Support/med | /Users/Bob/Library/Application Support/med |
Windows | {FOLDERID_RoamingAppData}/med | C:\Users\Bob\AppData\Roaming\med |
数据库迁移
我们准备了数据库迁移功能,并且这个迁移文件夹必须位于你的二进制文件相同的目录下。
依赖项
~39–55MB
~1M SLoC