方便存储密码/机密的实用程序
vcrypto的Python项目详细描述
调色板材质设计
方便存储密码/机密的实用程序。它使用来自cryptography模块的Fernet
,而不是重新发明轮子。在
Fernet是一种对称加密,在CBC模式下使用128位AES,PKCS7使用HMAC填充,使用SHA256进行身份验证。你可以阅读更多关于它的here。在
为什么是v型密码?在
在python中处理机密和密码总是很烦人的,尤其是与其他人一起工作时。我们发现最适合我们的是:
- 创建一个主专用密码(从git忽略)
- 有dict一样的文件与其余的密码加密
这个模块提供了Cipher
类来轻松处理。在
这个模块背后的想法是能够创建一个json
或{master.password
一次。所有其他的密码/秘密都会被git跟踪。在
安装
您可以使用pip安装它,方法是运行:
pip install v-crypt
使用
^{pr2}$定制
有三个参数可自定义密码:
- secrets_文件:包含机密的文件的路径。可以是
json
或yaml
。在 - filename_master_password:具有主密码的文件的路径
- environ_var_name:如果传递,则允许从环境变量读取主密码
For
yaml
you need to installpyyaml
例如,您可以:
cipher=Cipher(secrets_file="data/secrets.yaml",filename_master_password="data/master.secret")
这将允许您将master.password
和{data
文件夹中。在
没有更多的定制,因为这个想法是为了保持简单。在
在其他项目中集成it
我们通常有一个或多个带有实用程序的python文件,例如utilities.py
。在
为了使用vucrypt,我们在那里初始化cipher
,然后创建一个get_secret
虚拟函数来调用密码。在
fromv_cryptimportCiphercipher=Cipher(secrets_file="data/secrets.yaml",filename_master_password="data/master.secret")defget_secret(key):returncipher.get_secret(key)
然后您可以在其他地方使用它:
importutilitiesasuu.get_secret("secret")
发展
{14}依赖于这个包。为了开发,您需要安装两个库:
pip install poetry pre-commit poetry install pre-commit install
然后您需要在任何pythonshell命令之前添加poetry run
。例如:
# DO poetry run python master.py # don't do python master.py
作者
许可证
此存储库的内容由MIT授权。在
命名法
分支和提交使用一些前缀来更好地组织一切。在
分支
- f/:功能
- r/:发布
- h/:热修复
提交
- [NEW]新特性
- [FIX]修复
- [REF]重构
- [PYL]pylint改进
- [TST]测试
- 项目
标签: