方便存储密码/机密的实用程序

vcrypto的Python项目详细描述


调色板材质设计

Build Status

方便存储密码/机密的实用程序。它使用来自cryptography模块的Fernet,而不是重新发明轮子。在

Fernet是一种对称加密,在CBC模式下使用128位AES,PKCS7使用HMAC填充,使用SHA256进行身份验证。你可以阅读更多关于它的here。在

为什么是v型密码?在

在python中处理机密和密码总是很烦人的,尤其是与其他人一起工作时。我们发现最适合我们的是:

  • 创建一个主专用密码(从git忽略)
  • 有dict一样的文件与其余的密码加密

这个模块提供了Cipher类来轻松处理。在

这个模块背后的想法是能够创建一个json或{}的加密秘密。密钥将是公共的,但值不会是公共的。这样,您可以将机密字典存储在git中,并轻松地与在同一项目中工作的其他人共享它们。您只需要共享master.password一次。所有其他的密码/秘密都会被git跟踪。在

安装

您可以使用pip安装它,方法是运行:

pip install v-crypt

使用

^{pr2}$

定制

有三个参数可自定义密码:

  1. secrets_文件:包含机密的文件的路径。可以是jsonyaml。在
  2. filename_master_password:具有主密码的文件的路径
  3. environ_var_name:如果传递,则允许从环境变量读取主密码

For yaml you need to install pyyaml

例如,您可以:

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]测试

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

推荐PyPI第三方库


热门话题
JAVAexists()方法始终返回false   java SNMP4J v2c陷阱发送速度非常慢   java计算给定单词中字母的频率   在java中执行curl命令获取异常   java按下按钮时,应显示一个数字,并在日期选择器处计数   java递归将括号设置为字符串字符   节点。java中AWS IOT按钮的js Lambda函数   删除ArrayList中的所有空格。JAVA   java我可以在eclipse中定义一个显示html文件的视图吗?   java为什么RestController公开Crudepository中的所有操作?   春季3.2。使用java8的x   java迭代器如何使用构造函数   java Jersey客户端关闭InputStream响应它真的有效吗?   Java从剪贴板检索XML(Excel)电子表格   java线程被卡住,因为在运行中有一个永无止境的函数   基于Java编程的Amazon云开发