使用openssl加密图像

时间:2010-12-03 20:35:45

标签: security

我有.bmp图片。我想使用openssl命令加密图像文件。以下是我用来加密图像的命令。

openssl enc -aes-128-cbc -e -in pic_original.bmp -out aes128cbc.bmp -K 00112233445566778889aabbccddeeff -iv 0102030405060708

根据ECB模式,我应该能够在使用ECB模式加密文件时查看部分图像,但根本无法看到图像。图像查看软件说有虚假标题数据

我用于加密文件的命令是否有任何问题。有人可以帮我这个吗

由于

3 个答案:

答案 0 :(得分:2)

那是因为你加密了一切,包括标题。您应该将位图数据提取到原始流中,对其进行加密并将标头附加回原始流。

答案 1 :(得分:0)

您可以轻松地将标题复制回图像顶部:

dd if=/path/oldfile.bmp of=newfile.bmp bs=54 count=1 conv=notrunc

了解dd:

man dd

您可以在网上搜索此示例。E. Hugo's blog

答案 2 :(得分:0)

您需要从原始图像中提取标头,并用其替换加密文件的标头。通常对于bmp文件,前54个字节包含标头信息。

为此:

head -c 54 pic_og.bmp > header
tail -c +55 pic_cbc.bmp > body_cbc
cat header body_cbc > new_enc_cbc.bmp