我的博客文章(John Boker的回答中的passingcuriosity.com链接)使用M2Crypto库进行AES(对称加密算法). M2Crypto是围绕OpenSSL的Python包装器. API几乎是将OpenSSL直接翻译成Python的,所以稍微粗略的文档不应该是一个太大的问题.如果M2Crypto支持您需要使用的公钥加密算法,那么您可以很好地使用它来进行公钥加密.
我发现M2Crypto test suite是使用其API的有用示例.特别是,RSA(在test_rsa.py中),PGP(在test_pgp.py中)和EVP(在test_evp.py中)测试将帮助您弄清楚如何设置和使用库.请注意它们是单元测试,因此确切地确定哪些代码是必要的以及什么是测试的人工制品可能有点棘手.
PS:因为我是新手,我的帖子只能包含一个链接,所以我不得不删除大部分链接.抱歉.
例
from M2Crypto import RSA
rsa = RSA.load_pub_key('rsa.pub.pem')
encrypted = rsa.public_encrypt('your message', RSA.pkcs1_oaep_padding)
print encrypted.encode('base64')
产量
X3iTasRwRdW0qPRQBXiKN5zvPa3LBiCDnA3HLH172wXTEr4LNq2Kl32PCcXpIMxh7j9CmysLyWu5
GLQ18rUNqi9ydG4ihwz3v3xeNMG9O3/Oc1XsHqqIRI8MrCWTTEbAWaXFX1YVulVLaVy0elODECKV
4e9gCN+5dx/aG9LtPOE=