用于聚合加密元磁盘使用的文件的工具。

file_encryptor的Python项目详细描述


Build StatusCoverage StatusPyPI version

这是metadisk用于聚合加密和解密的库。 文件夹。它包含内联加密和解密文件的助手方法 (不使用额外空间)和流解密。

安装

您可以使用pip:

轻松安装file-encryptor
pip install file_encryptor

用法

下面是一个使用聚合加密对文件进行内联加密的示例:

importfile_encryptor.convergencekey=convergence.encrypt_inline_file("/path/to/file",None)

您还可以指定密码短语:

importfile_encryptor.convergencekey=convergence.encrypt_inline_file("/path/to/file","rainbow dinosaur secret")

要以内联方式解密文件,需要 加密方法:

importfile_encryptor.convergencekey=convergence.encrypt_inline_file("/path/to/file","rainbow dinosaur secret")convergence.decrypt_inline_file("/path/to/file",key)

不能直接使用密码短语的原因是 源于原始密码短语和sha-256 文件。

对于流应用程序,可以使用生成器解密文件:

forchunkinconvergence.decrypt_generator("/path/to/file",key):do_something_with_chunk(chunk)

加密问题

密钥生成机制如下:

key=HMAC-SHA256(passphrase,hex(SHA256(file-contents)))

如果未给出密码短语,则使用默认值。

文件本身使用来自pycrypto的AES128-CTR加密。我们不是 指定任何iv,认为对于聚合加密 做正确的事。

测试

要运行测试,请在项目根目录中执行以下命令:

python setup.py test -a "--doctest-modules --pep8 -v tests/"

要运行具有详细覆盖率输出的测试,请执行:

coverage run setup.py test -a "--doctest-modules --pep8 -v tests/"
coverage report -m --include="file_encryptor/*"

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

推荐PyPI第三方库


热门话题
playframework Play Framework 2.5表单对象bean(Java)中的依赖项注入   java从javascript触发小程序按钮   JavaGWT:如何创建我自己的异步方法?   对于JTA事务类型,java JPA更改不会持久化   java如何使用预定义的甲板类制作Black Jack游戏   带有数组的java HashMap find()   从Java中的另一个类接收对象数组的参数?   java IntelliJ错误:Scala 145,错误:scalac:找不到Scala编译器JAR   java Eclipse 404请求的资源不可用   java Chuck没有界限   java阅读行每隔一行跳过一行   java如何访问我的EAR部署信息   Java中的正则表达式,其中执行搜索的文本是动态变化的   java我需要优化BigInteger的toString()方法   java Google Map Api V2,自定义路线标记   java如何在Java8中与LocalDate实现更少的需求和更高的质量   EclipseUML插件生成Java源代码   将数据库列绑定到java jComboBox和JList   java如何将两个图像合并为PDF