您不需要PyCrypto
或PyMe
,尽管这些软件包可能不错- 您将在Windows下构建各种问题。相反,为什么不避开兔子洞,我该怎么做呢?使用gnupg 1.4.9
。你不需要做一个完整的安装在最终用户的机器- 刚刚gpg.exe
和iconv.dll
从分配是足够的,你只需要在一些地方有他们在的路径,或使用一个全路径名从你的Python代码访问。无需更改注册表,如果需要,所有内容(可执行文件和数据文件)都可以限制在一个文件夹中。
有一个模块GPG.py
最初由Andrew Kuchling编写,由Richard Jones改进,并且由Steve Traugott进一步改进。它在这里可用,但因为它使用,所以它不适合Windowsos.fork()
。尽管它最初是其中的一部分PyCrypto
, 。
我有一个gnupg.py
来自Traugott的版本()GPG.py
,该版本使用该subprocess
模块。至少出于我的目的,它在Windows下可以正常工作- 我使用它来执行以下操作:
我所获得的模块目前尚不理想,因为它包含了一些其他内容,这些内容不应该存在,这意味着我目前无法按原样发布它。在某个时候,也许在接下来的几周内,我希望能够整理一下,添加更多的单元测试(例如,我没有用于签名/验证的任何单元测试)并释放它(在原始PyCrypto
许可或类似的商业友好许可)。如果您迫不及待,请使用Traugott的模块并自行对其进行修改- 使其与subprocess
模块一起工作并不需要太多工作。
这种方法比其他方法(例如,SWIG
基于解决方案或需要使用MinGW
/进行构建的解决方案)要痛苦得多MSYS
,这是我考虑并尝试过的。我对其他语言编写的系统使用了相同的(gpg.exe
/iconv.dll
)方法,例如C#
,结果同样轻松。
PS它适用于Python 2.4以及Python 2.5及更高版本。没有经过其他版本的测试,尽管我没有发现任何问题。