1
A
回答
1
我結束了使用pyexiv2來修改圖像的元數據,如:
>>> md5sum('photo.jpg')
'89dd603a0ce14750799a5144a56fbc12'
>>> image = pyexiv2.ImageMetadata('photo.jpg')
>>> image.read()
>>> image['Exif.Image.ImageDescription'] = '%030x' % random.randrange(256**15)
>>> image.write()
>>> md5sum('photo.jpg')
'426cc91835e7f4f5e92c5a48850adc05'
2
使用@Martijn Pieters的解決方案:只需在標頭或安全的地方更換一個位。
或者更簡單,如果你可以改變文件大小:在文件中附加一個'\0'
(以及任何字符都可以)。它仍然是一個有效的JPEG文件,並沒有可見的變化。
echo -n ' ' >> my_image.jpeg
一個粗溶液是
- 轉換(的一個顏色平面)中的圖像到傅立葉空間(使用DFT/FFT),
- 改變在一些像素值低頻率(大部分存儲在二維陣列的右下角),
- 並將圖像轉換回圖像空間(使用ifft)。
所有像素都會有所不同,幾乎沒有光學變化。
1
import hashlib
hashlib.md5(open('image.png','rb').read()).hexdigest() # rb = readbyte ,so it will work for text as well as media (image,video) files
輸出>>> '724c6d87452c3a137ef1499c2d4b6576' #MD5哈希值
file = open('image.png', 'rb').read()
with open('new_image.png', 'wb') as new_file:
new_file.write(file+'\0') #here we are adding a null to change the file content
hashlib.md5(open('new_image.png','rb').read()).hexdigest()
輸出>>> 'a345838e8af07b65344e19989c7c5d85'#同一個媒體文件的#新md5散列值
相關問題
- 1. 計數圖像的哈希值(MD5)
- 2. MD5哈希發佈圖像
- 3. MD5哈希值不匹配重複ALAssetRepresentation圖像的哈希
- 4. MD5哈希更快
- 5. C#MD5哈希Groovy的MD5哈希
- 6. Python的MD5哈希值進行比較
- 7. 創建上傳圖像的MD5哈希
- 8. Python中的Python MD5哈希比較3.2
- 9. SQL 2005 MD5哈希和C#MD5哈希
- 10. PHP MD5(MD5)哈希
- 11. Md5哈希標識和存檔圖像
- 12. 使用Python從在線圖像/電影中獲取MD5哈希值
- 13. BSD unix md5哈希位值
- 14. 如何在Qt中創建MD5哈希?
- 15. MD5哈希,Python 3。如何在Python中生成
- 16. MD5哈希和Python中的比較
- 17. PHP MD5哈希
- 18. MD5哈希中的WindowsPhone 8
- 19. 無法從Java md5哈希得到相同的結果作爲python md5哈希
- 20. Python和其他文件哈希之間的MD5哈希差異
- 21. 文件已被更改後,MD5哈希未更改
- 22. 計算MD5哈希值在二郎山
- 23. 如何在使用fullpage.js時根據URL哈希更改圖像?
- 24. 解密MD5哈希
- 25. SHA512和MD5哈希
- 26. 生成MD5哈希
- 27. GPU MD5/SHA1哈希
- 28. Java MD5哈希不匹配.NET哈希
- 29. 如何在jdk.7.o中獲得MD5哈希值?
- 30. MD5哈希在藥劑
You You d看看你是否可以擺弄標題數據,或者只是改變一個像素。 – 2013-03-06 17:56:22
你想使用什麼圖像格式? (JPEG,PNG,BMP,...) – kay 2013-03-06 17:57:20
@Kay我會使用JPEG。 – user1814016 2013-03-06 17:59:03