使用 openssl 进行 AES 解密时缺少一些初始字符

使用 openssl 进行 AES 解密时缺少一些初始字符

我已经使用 IVStatic = true 和 keysize = 256 通过代码对文件进行了加密。

现在我正在尝试使用 openssl 命令解密文件。

  1. 我从文件中提取了IV。
  2. 然后我从文件中删除了 IV。
  3. 获取加密密钥的SHA256加密。
  4. 使用 openssl -d 命令解密所有参数,如加密密钥(SHA 256)、IV 等。
  5. 文件解密成功。但缺少首字母。

请帮忙

答案1

作为一个想法:IVStatic 表明正在使用固定 IV。因此,不要提取 IV(或您认为的 IV),而是使用 IV= zeroblock 并查看文件开头的内容。我假设密钥没有问题,因为您使用的密钥的填充必须已检查过……

文本开头会长 16 个字节,但也许会出现这种情况(将预期起始块与 IV=0 解密进行比较,发现使用了另一个 IV,只需将预期起始块与解密后的起始块进行异或即可。

相关内容