我想在python中使用cbc模式的aes 128加密和解密文件(任何类型的文件)。
我对密码学很陌生,我尝试了一些教程,但所有教程都只适用于文本,我需要它用于文件。
有人能建议我一个解决方案吗?
答案 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)
没有AES加密,但是不可读