【发布时间】:2015-11-27 18:18:44
【问题描述】:
我正在拼命地尝试将一个旧项目升级到 Python 3,但我在 3 年多前编写的库之一使用了在 Py3k 下似乎不可用的 M2Crypto。它几乎不能安装在 Python 2 上,但完全是另外一回事。
无论如何,我们只用它的 EVP 模块对字符串进行签名。以下是我们使用 M2Crypto 的程度:
from M2Crypto import EVP
def sign_string(message, priv_key_string):
key = EVP.load_key_string(priv_key_string)
key.reset_context(md='sha1')
key.sign_init()
key.sign_update(message)
return key.sign_final()
从字符串加载密钥,使用 SHA1 并对提供的消息进行签名。表面上看起来很简单,但我真的不知道发生了什么。 EVP 对我来说是一个黑盒子。
是否还有其他适用于 Python 3 的 EVP 库?或者有人知道让 M2Crypto 在 Python 3 中工作的秘诀吗?
【问题讨论】:
标签: python python-3.x m2crypto