使用 aes 加密 python 中的文件
Encrypt file in python with aes
我想在 python.
中以 cbc 模式使用 aes 128 加密和解密文件(任何类型的文件)
我对密码学还很陌生,我尝试了一些教程,但都只适用于文本,我需要它来处理文件。
谁能给我一个解决方案?
快速 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 了解更多信息。
我想在 python.
中以 cbc 模式使用 aes 128 加密和解密文件(任何类型的文件)我对密码学还很陌生,我尝试了一些教程,但都只适用于文本,我需要它来处理文件。
谁能给我一个解决方案?
快速 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 了解更多信息。