加密用openssl的图像

问题描述 投票:0回答:3

我有一个.BMP图像。我想使用OpenSSL的命令加密的图像文件。以下是我已经使用到图像加密命令。

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

按ECB模式而言,我应该能够查看局部图像时使用我ECB模式,但是我看不到图像在所有加密的文件。图像查看软件说有假头数据

有什么事错在我用于加密该文件的命令。有人可以帮助我这个请

谢谢

security
3个回答
3
投票

那是因为你加密的一切,包括头。你应该提取的位图数据为原始数据流,加密和附加头回来吧。


1
投票

您可以轻松地将头复制回图像的顶部:

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

要了解DD:

man dd

您可以搜索在网络上这样的例子.E. Hugo's blog


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
© www.soinside.com 2019 - 2024. All rights reserved.