我有.bmp图片。我想使用openssl命令加密图像文件。以下是我用来加密图像的命令。
openssl enc -aes-128-cbc -e -in pic_original.bmp -out aes128cbc.bmp -K 00112233445566778889aabbccddeeff -iv 0102030405060708
根据ECB模式,我应该能够在使用ECB模式加密文件时查看部分图像,但根本无法看到图像。图像查看软件说有虚假标题数据
我用于加密文件的命令是否有任何问题。有人可以帮我这个吗
由于
答案 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