5 个版本 (稳定)
1.3.0 | 2024年7月20日 |
---|---|
1.2.1 | 2024年6月30日 |
1.1.1 | 2024年5月17日 |
1.0.0 | 2024年5月13日 |
0.1.0 | 2024年5月3日 |
#704 in 加密学
每月207次下载
39KB
868 行
git-simple-encrypt
英文 | 简体中文
非常简单易用 的 git 加密工具,可以在任何设备上使用单个 密码 加密/解密您的 git 仓库。支持部分文件加密和增量加密。
- 为什么不使用
git-crypt
?- 此项目更注重易用性而不是安全性。 单密码对称加密是我的底线。
[!警告]
此存储库不保证加密安全性以及向后兼容性。(请使用相同的主版本)
安装
有几种不同的安装方法,您可以选择其中任何一种。
- 从 发行版 下载文件,解压并将它放在
C:\Windows\System32
(如果您使用 Windows)或任何路径
目录中。 - 使用 bpm
bpm i git-simple-encrypt -b git-se -q
- 使用 scoop
scoop bucket add absx https://github.com/absxsfriends/scoop-bucket scoop install git-simple-encrypt
- 使用 cargo
或 cargo-binstallcargo +nightly install git-simple-encrypt
cargo binstall git-simple-encrypt
用法
git-se p # Set the password.
git-se add file.txt # Add `file.txt` to the need-to-be-encrypted list.
git-se add mydir # Add `mydir` to the need-to-be-encrypted list.
git-se e # Encrypt files in list in the current repository.
git-se d # Decrypt all files with extension `.enc`, `.zst.enc`.
git-se d 'src/*' # Decrypt all encrypted files in `src` folder.
输入 git-se -h
和 git-se [子命令] -h
以获取更多信息。
注意
git add -A
在加密时将自动执行,因此请确保.gitignore
被正确处理。- 请勿将带有
.zst
、.enc
后缀的文件及其所在的文件夹添加到加密列表中。 - 要从加密列表中删除文件/目录,请编辑
git_simple_encrypt.toml
。
算法
graph TD;
A[Key: 123] -- SHA3_224 --> 602bdc204140db016bee5374895e5568ce422fabe17e064061d80097 -- CUT --> 602bdc204140db016bee5374895e5568 --cipher--> Aes128GcmSiv -- output--> 14a7dd2666afd854788c80f5518fea892491f23e72798d2fbc67bfc6259610d6f4
B[Text: '6' * 60] --zstd--> 28b52ffd006045000010363601003f0116 --content--> Aes128GcmSiv
CONST --NONCE--> Aes128GcmSiv
- 如果zstd压缩产生相反的效果,请跳过压缩。
- 解密所有扩展名为
.enc
、.zst.enc
的文件。
开发
- 为测试,请使用
cargo test -- --test-threads=1
待办事项
- zstd效果检查
- 部分解密
依赖项
~11–22MB
~270K SLoC