有关一些敏感的数据,我决定存储在光盘上它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的组合,使这项工作...

有帮助吗?

解决方案

为什么重要的是能够不PyCrypto恢复?你可以简单地启动一个虚拟机与旧操作系统和PyCrypto的旧版本,导出数据,并重新加密用不同的算法和实现。

其他提示

我认为这个问题可能会在事实上,你不提供对CBC模式和无IV的IV也许这个Mcrypt和PyCrypto通过使用不同的默认的IV处理它不同所在。我已经看到一些实现方式中(phpseclib例如)使用和IV的16空默认字节。 mcrypt的可能无法做到这一点。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top