./safeguard --version
1.0
本项目是一个面向学习的文件加密工具。
尽管它使用了 Go 标准库中的标准密码学原语(例如用于认证加密的 AES-GCM),但并没有使用现代的、内存硬化的密码密钥派生函数(如 Argon2 或 scrypt)。
密钥是通过一种轻量级、仅依赖标准库的方法派生的。这意味着:
欢迎提交在保持可用性的同时提高安全性的贡献。
git clone https://github.com/pingplus/SafeGuard.git
cd SafeGuard
go build
一般语法:
./safeguard <文件> <动作> <加密方式> [选项]
动作:
--encrypt 或 e 加密文件--decrypt 或 d 解密文件--decrypt-directory 或 de 解密整个目录(目录解密功能暂不可用,抱歉 :( )选项:
--inplace 原地解密/加密文件(实验性)--key 添加密钥--output 指定输出文件名支持的加密方式:
./safeguard --list-ciphers
[i] 可用加密方式:
xor
caesar
aes
加密文件:
./safeguard secret.txt e aes --key "你的强密码"
# 或
./safeguard secret.txt --encrypt aes --key "你的强密码" --output secret.txt.aes
解密文件:
./safeguard secret.txt d aes --key "你的强密码"
# 或
./safeguard secret.txt --decrypt aes --key "你的强密码" --output secret.txt.dec
./safeguard secrets.txt e aes --key "123123123123123123123123" --inplace
# -> 创建 secrets.txt 但已加密
./safeguard secrets.txt.aes d aes --key "123123123123123123123123" --output secrets_decrypted.txt