0

我有 289 字节的数据要嵌入到 jpg 文件中。当然不改变图像。此外,我可以从图像中提取该数据,并且图片仍然是原始的。为了证明原创性,嵌入散文前后图像的哈希值(SHA 256)仍然是相同的值。

我试过使用stegano库和piexif. 这是使用的代码piexif

exif_dict = piexif.load(pathImg + 'testImage.jpg')
exif_dict["thumbnail"] = signature # Signature is the 289 bytes of data
exif_bytes = piexif.dump(exif_dict)
piexif.insert(exif_bytes, pathImg + 'testImage.jpg')

我有一个错误piexif._exceptions.InvalidImageDataError: Given data isn't JPEG.

4

1 回答 1

2

我自己解决了这个问题并使用下面的代码插入值

import piexif

exif_dict = piexif.load('testImageSigned.jpg')
exif_dict["0th"][piexif.ImageIFD.Copyright] = hashValue
exif_bytes = piexif.dump(exif_dict)
piexif.insert(exif_bytes, 'testImageSigned.jpg')

这是要提取的代码:

exif_dict = piexif.load('testImageSigned.jpg')
hashValue2 = exif_dict["0th"][piexif.ImageIFD.Copyright]

是 exif 标签文档,其中描述了数据类型。

piexif图书馆文档。

希望这可以帮到你

于 2020-04-12T12:57:40.717 回答