2 个稳定版本
1.0.1 | 2020年11月22日 |
---|---|
1.0.0 | 2020年4月19日 |
1407 / 加密学
145KB
4K SLoC
文件加密/解密
命令行工具,用于加密和解密文件。
功能
- 使用成熟算法进行加密和解密。
- 压缩。
- 密钥拉伸。
- 盐。
- 校验和。
- 向后兼容。
- 通过提示、参数、环境、文件或管道传递密码。
- 对弱密码发出警告。
- 删除文件碎片。
在 Docker 中
使用 Docker 运行加密器:
docker run --rm -it -v "$(pwd):/data" mverleg/file-endec /fileenc file.txt
您可以将任何要加密文件的目录挂载到 Docker 中;上述示例使用当前目录 $(pwd)
。使用 /filedec
代替 /fileenc
进行解密。
要自行构建镜像(而不是从 Dockerhub 下载),请克隆 GitHub 项目并运行:
docker build -t mverleg/file-endec .
这将运行测试和 lint,以验证您的版本是否正确。
选项
使用 fileenc --help
和 filedec --help
查看命令行参数。对于 fileenc
USAGE:
fileenc [FLAGS] [OPTIONS] <FILES>...
FLAGS:
--accept-weak-key Suppress warning if the encryption key is not strong.
-v, --debug Show debug information, especially on errors.
-d, --delete-input Delete unencrypted input files after successful encryption (overwrites garbage before
delete).
--dry-run Test encryption, but do not save encrypted files (nor delete input, if --delete-input).
-h, --help Prints help information
-f, --overwrite Overwrite output files if they exist.
-q, --quiet Do not show progress or other non-critical output.
-V, --version Prints version information
OPTIONS:
-k, --key <key-source>
Where to get the key; one of 'pass:$password', 'env:$var_name', 'file:$path', 'ask', 'askonce', 'pipe'
[default: ask]
-o, --output-dir <output-dir>
Alternative output directory. If not given, output is saved alongside input.
--output-extension <output-extension> Extension added to encrypted files. [default: .enc]
ARGS:
<FILES>... One or more paths to input files (absolute or relative)
请注意
虽然这主要依赖于成熟的哈希和加密算法,但没有安全保证,作者也不是专业的安全专家。自行承担风险。
- 对同一文件进行两次加密将产生不同的结果,这是语义安全所需的。这可能会对版本控制产生不利影响。
- 在哈希多个文件时,它们共享相同的盐。之所以这样做,是因为拉伸需要很长时间,而且如果找到了某个密钥,它将适用于所有文件,而不考虑盐。
依赖关系
~25–37MB
~778K SLoC