易于使用的Python加密库/包装器?

Edu*_*nec 9 python encryption aes

我想在Python中使用密码加密任意长度的字符串.我宁愿处理填充,密钥生成和IV,因为老实说我还不太了解密码学,我想避免弄乱.我也更喜欢使用着名的密码作为AES.

我理想的库(我们称之为MagicCrypt)可以这样工作:

from MagicCrypt import AES
p = "plaintext"
k = "password"
crypt = AES(k)
c = crypt.encrypt(p)
p == crypt.decrypt(c) # True
Run Code Online (Sandbox Code Playgroud)

我检查了PyCrypto,m2crypto,pycryptopp,GPGmekeyczar.他们似乎都没有提供这种非常容易使用的模式.keyczar最接近,但由于某种原因想要使用保存在类文件对象或类似内容中的键集.

据我所知,我不得不求助于mcrypt与Popen 打电话,Popen确实提供了一种完全相同的模式 - 部分原因我猜测其中没有技术原因不存在.

你知道一个易于使用,安全,加密的Python库吗?如果没有,使用任何已经提到的库最简单(但最安全)的方法是什么?

and*_*oke 6

你列出m2crypto,但你看到m2secret?http://www.heikkitoivonen.net/m2secret/上的例子似乎正是你想要的.

免责声明:我没有使用它,它在pypi上列为alpha质量http://pypi.python.org/pypi/m2secret/0.1.1

更新 - 在回答这里后的一段时间我写了一个simple-crypt,它是pycrypto的简单包装器.它对python 2.7和3进行了加密,类似于Rob的答案,但也包括PBKDF2以生成更安全的密钥.