跳转到主要内容

为Python提供的超级简单的非对称加密

项目描述

为Python提供的超级简单的非对称加密

简介

python-asymcrypt是pycryptodome的包装,使其非对称加密更加容易。

安装

使用pip

pip install asymcrypt

使用

生成密钥文件

import asymcrypt

asymcrypt.generate_keys('my_private_key_file.pem','my_public_key_file.pem')

加密数据

data = 'A string, not an unicode'
encrypted_data = asymcrypt.encrypt_data(data,'my_public_key_file.pem')

解密数据

data = asymcrypt.decrypt_data(encrypted_data,'my_private_key_file.pem')

Unicode,Str,Bytes

asymcrypt使用pycryptodome,对于数据,python3使用bytes,python2使用str。因此,建议使用这些类型。尽管如此,asymcrypt提供了类型检测,它将在加密时保持使用的类型,以便在解密时使用

对于python 2,如果您使用Unicode数据加密,它将在加密之前自动编码为utf-8 str,并在解密后解码回Unicode。如果您使用str数据,则不会进行编码/解码。

对于python 3,如果您使用str数据加密,它将在加密之前自动编码为utf-8 bytes,并在解密后解码回str。如果您使用bytes数据,则不会进行编码/解码。

密码短语

作为选项,您可以在每个函数中使用passphrase选项来生成加密密钥,并在使用encrypt/decrypt_data()函数时读取它们

Base64

默认情况下,输出/输入是二进制。但是,您可以在encrypt_data()中使用选项out_format='base64'将其编码为base64,或者在decrypt_data()中使用选项in_format='base64'将其从base64解码

命令行

Asymcrypt提供了3个命令

生成密钥对

asymgenkeys -priv private_key.pem -pub public_key.pem

加密

asymencrypt -k public_key.pem -in file_to_encrypt.txt -out dest_file.enc

解密

asymdecrypt -k private_key.pem -in encrypted_file.enc -out dest_file.txt

注意:您可以使用选项 -b--base64 对数据进行 base64 编码/解码,使用 -p--passphrase 指定密码来加密/解密密钥。

注意 2:如果在上述命令中未指定 -in-out,则将使用标准输入/输出。

与 openssl 兼容性

asymcrypt 使用 RSA 密钥,根据 PKCS#1 OAEP 使用 RSA 加密协议,使用 AES 的 EAX AEAD 模式。如果提供了密码,密钥将使用 scrypt 和 AES128-CBC 进行加密。加密数据将跟踪原始 Python 数据类型。所有这些使得无法直接使用 openssl 解码由 asymcrypt 生成的文件。

新闻

0.0.10 (2019-05-24)

  • 在 Pipfile 中使用 Python 3.6

0.0.9 (2019-02-06)

  • 修复 asymdecrypt 脚本

0.0.6 (2018-10-02)

  • 跟踪原始数据类型(unicode、str、bytes)

0.0.4 (2018-10-01)

  • 添加控制台命令

  • 密钥文件现在被缓存

0.0.2 (2018-09-28)

  • 首次运行版本

项目详情


下载文件

下载适用于您平台的应用程序。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源分布

asymcrypt-0.0.10.tar.gz (5.2 kB 查看哈希值)

上传时间:

构建分布

asymcrypt-0.0.10-py2.py3-none-any.whl (8.4 kB 查看哈希值)

上传时间: Python 2 Python 3

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面