AES加密PyCrypto与mcrypt的解密
-
22-09-2019 - |
题
有关一些敏感的数据,我决定存储在光盘上它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的可能无法做到这一点。
不隶属于 StackOverflow