与GPG兼容的对称密钥加密和解密
tinygpgs的Python项目详细描述
tinygpgs是一个快速模块和独立的python2脚本 使用OpenPGP的对称密钥(基于密码短语)加密和解密 与GPG(GnuPG)兼容的文件格式。在
使用
用于加密的文件类API用法:
import getpass from tinygpgs.file import GpgSymmetricFile f = GpgSymmetricFile('FILE.bin.gpg', 'wb', getpass.getpass()) try: f.write('Hello, World!\n') f.write('This is the end.\n') finally: f.close()
用于解密的文件类API用法:
^{pr2}$对于加密,它还提供了encryptedfile1.1.1接口,以方便使用 迁移:
import getpass from tinygpgs.file import EncryptedFile # Just for compatibility. f = EncryptedFile('FILE.bin.gpg', mode='wb', passphrase=getpass.getpass()) try: f.write('Hello, World!\n') f.write('This is the end.\n') finally: f.close()
命令行工具用法:
$ python -m tinygpgs -c FILE.bin # Encrypt. Enter passphrase: $ python -m tinygpgs -d <FILE.bin.gpg >FILE2.bin # Decrypt. Enter passphrase: $ cmp FILE.bin FILE2.bin
命令行工具有许多与gpg(1)相同的标志,因此可以使用 python -m tinygpgs作为对对称的gpg的替换 密钥加密和解密。在
特点
tinygpgs支持所有密码、哈希、字符串到键模式、输出格式 (二进制和ASCII装甲)和OpenPGP RFC中用于加密和解密的压缩方法。 所有这些设置都可以在类的关键字参数中配置 构造函数和命令行标志。在
tinygpgs不支持公钥加密(例如加密、签名 和密钥生成)。在
安装
要获取模块,请运行以下命令:
$ python -m pip install tinygpgs pycrypto
请注意,tinygpgs在没有pycrypto的情况下也可以工作,但是 pycrypto它的工作速度更快,甚至可以与gpg(1)媲美:小于1.37 更慢的。在
获取命令行工具的独立版本(单个可执行文件 文件,包含嵌入的模块),请参阅 https://github.com/pts/tinygpgs。在
您需要Python>;=2.4才能将tinygpgs用作脚本或模块。已经过测试 包括2.4和3.8,以及介于两者之间的所有主要版本。在
许可证
tinygpgs是一款根据麻省理工学院授权发布的免费软件。没有 担保。使用风险自负。在
- 项目
标签: