我有一个.BMP图像。我想使用OpenSSL的命令加密的图像文件。以下是我已经使用到图像加密命令。
openssl enc -aes-128-cbc -e -in pic_original.bmp -out aes128cbc.bmp -K 00112233445566778889aabbccddeeff -iv 0102030405060708
按ECB模式而言,我应该能够查看局部图像时使用我ECB模式,但是我看不到图像在所有加密的文件。图像查看软件说有假头数据
有什么事错在我用于加密该文件的命令。有人可以帮助我这个请
谢谢
那是因为你加密的一切,包括头。你应该提取的位图数据为原始数据流,加密和附加头回来吧。
您可以轻松地将头复制回图像的顶部:
dd if=/path/oldfile.bmp of=newfile.bmp bs=54 count=1 conv=notrunc
要了解DD:
man dd
您可以搜索在网络上这样的例子.E. Hugo's blog
你需要提取原始图像的头和用它来代替加密文件的头部。通常对于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