【发布时间】:2011-01-31 10:52:30
【问题描述】:
对于一些敏感数据,我决定将其以 AES 加密方式存储在磁盘上。我已经使用PyCrypto 实现了加密。
此外,数据很重要,存储的加密数据将是我唯一的副本(备份除外),因此我寻找了一些不使用 PyCrypto 来检索数据的方法,以便考虑到 PyCrypto 的可能性我不再可用(无论出于何种原因)。
我认为mcrypt 可能是一个选择。
这是我编写密文的测试用例:
import Crypto.Cipher.AES
import sys
pwd = 'qwertzuiopasdfgh'
mode = Crypto.Cipher.AES.MODE_CBC
aes = Crypto.Cipher.AES.new( pwd, mode )
text = 'asdfghjklyxcvbnm'
sys.stdout.write( aes.encrypt( text ) )
我将输出重定向到文件out.nc 并尝试通过
mcrypt -d -b -k qwertzuiopasdfgh -a rijndael-128 -m CBC out.nc
但不幸的是,生成的文件 out 的字节大小为零。
我希望 mcrypt 有多种选择来完成这项工作……
【问题讨论】:
-
如果将 aes.encrypt(text) 的结果写入文件而不是标准输出会发生什么?使用 diff 确保它们相同。将密文传送到标准输出很奇怪,因为它永远不会是可打印的数据。如果你不走运,重定向它甚至都行不通。
-
重定向甚至不起作用?奇怪的想法,乍一看。你有任何关于为什么会这样的参考吗?不过,我只是尝试直接写入文件。这会产生相同的文件。
标签: python encryption aes mcrypt pycrypto