在git repo中加密/解密私有文件的简单方法。

git-easy-crypt的Python项目详细描述


Git简易密码

在git repo中加密/解密私有文件的简单方法。

安装

您可以通过pip安装git easy crypt:

$ pip install git-easy-crypt

或者直接下载脚本:

$ sudo curl -o /usr/local/bin/gecrypt https://raw.githubusercontent.com/taojy123/git-easy-crypt/master/gecrypt.py 
$ sudo chmod a+x /usr/local/bin/gecrypt

用法

  gecrypt setkey mysecretkey             Set a secret key for encrypt/decrypt in current repo
  gecrypt setkey mysecretkey -y          Set a secret key without input yes
  gecrypt showkey                        Show secret key
  gecrypt encrypt file                   Encrypt a file (decrypt file to file.sec)
  gecrypt encryptall                     Encrypt all decrypted files in current repo
  gecrypt decrypt file.sec               Decrypt a file (decrypt file.sec to file)
  gecrypt decrypt file.sec anther_file   Decrypt file.sec to anther_file
  gecrypt decryptall                     Decrypt all encrypted files in current repo
  gecrypt version                        Show version
  gecrypt help                           Show help for commands

最佳实践

爱丽丝,加密秘密文件并推送:

$ git clone https://github.com/taojy123/test
Cloning into 'test'...
...
Unpacking objects: 100% (3/3), done.
$ cd test

$ gecrypt setkey abc123
`abc123` has saved in .git-easy-crypt-key

$ echo MYSECRET=AAA > keys.txt
$ ls
README.md    keys.txt

$ gecrypt encrypt keys.txt 
Encrypt success!
The secret code has been saved in `keys.txt.sec`, and `keys.txt` is ignored by git.
You must keep the secret key `abc123` in mind for decrypt the file in the future!!!
$ ls
README.md    keys.txt     keys.txt.sec

$ git add .
$ git commit -m "add encrypted secret file"
[master 3d8ef6f] add encrypted secret file
 2 files changed, 5 insertions(+)
 create mode 100644 .gitignore
 create mode 100644 keys.txt.sec

$ git push
...
To https://github.com/taojy123/test
   4d86b27..3d8ef6f  master -> master
$ 

鲍勃,把秘密文件拉出来解密:

$ git clone https://github.com/taojy123/test
Cloning into 'test'...
...
Unpacking objects: 100% (7/7), done.
$ cd test

$ ls
README.md    keys.txt.sec

$ gecrypt setkey abc123
`abc123` has saved in .git-easy-crypt-key

$ gecrypt decryptall
`./keys.txt.sec` has been decrypted to `./keys.txt`.

$ ls
README.md    keys.txt     keys.txt.sec

$ cat keys.txt
MYSECRET=AAA 
$ 

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java中char的用途   swing修复,以便显示可以同时显示十进制数和整数   java给定一个场景,找到拥有的JFXPanel   java JPA 2标准获取路径导航   java如何用JUnit测试这个类?   JSF中的java请求作用域   Spring云Zuul代理背后的java Spring OAuth授权服务器   java限制聚合返回的存储桶大小   java如何在安卓应用程序中请求超级su权限   防止超级关键字的java Checkstyle规则   java 安卓。应用程序。应用程序无法强制转换到安卓。应用程序。在回收器适配器中使用FragmentManager时的活动   使用Java的Twitter广告API   切换到4.0.1版本后,java“JavaMailSenderImpl无法解析为类型”   java没有getter方法可用于名称下bean的属性   java 0/1背包堆空间   java我无法使用断点进行调试   Jar文件名表单java代码   java调用从扩展活动的MainActivity类扩展片段的类片段