使用aes在python中加密文件

时间:2015-05-31 22:22:56

标签: python encryption aes

我想在python中使用cbc模式的aes 128加密和解密文件(任何类型的文件)。

我对密码学很陌生,我尝试了一些教程,但所有教程都只适用于文本,我需要它用于文件。

有人能建议我一个解决方案吗?

2 个答案:

答案 0 :(得分:3)

快速Google搜索引导我进入Crypto套餐。它附带我正在使用的iPython,但无论如何安装都应该是微不足道的。

我只是repost这里的示例供您参考。

>>> from Crypto.Cipher import AES
>>> obj = AES.new('This is a key123', AES.MODE_CBC, 'This is an IV456')
>>> message = "The answer is no"
>>> ciphertext = obj.encrypt(message)
>>> ciphertext
'\xd6\x83\x8dd!VT\x92\xaa`A\x05\xe0\x9b\x8b\xf1'
>>> obj2 = AES.new('This is a key123', AES.MODE_CBC, 'This is an IV456')
>>> obj2.decrypt(ciphertext)
'The answer is no'

Here是AES的文档。

如果您尝试加密文件,您可以使用OpenSSL或使用由Thijs提供的Crypto的Python解决方案。点击here了解详情。

答案 1 :(得分:0)

尝试this module

没有AES加密,但是不可读