2013-01-04 80 views
0

WhatsApp在共享時創建圖像的重複副本。儘管圖像的分辨率相同,但原始圖像的MD5校驗和與其複製方式不同。爲什麼是這樣?如何讓我的應用程序認識到這是一個重複的圖像。Duplicate具有不同的MD5校驗和

我試過MD5和Sha-1,兩種算法都爲這兩個圖像生成不同的校驗和。

回答

1

聽起來像元數據可能存在差異 - 例如,在製作副本時,WhatsApp服務器可能已更改時間戳。

我建議你檢索圖像的像素數據並運行你的校驗和。您可以使用Bitmap.getPixels()方法。例如:myBitmap.getPixels(pixels, 0, myBitmap.getWidth(), 0, 0, myBitmap.getWidth(), myBitmap.getHeight());

請記住,僅僅因爲校驗和是相同的,並不一定意味着圖像是!如果您的校驗和匹配,則必須對數據進行逐個元素的比較,以確保圖像完全相同。

編輯: 有如何平等here做逐像素測試一個很好的例子。請注意,如果您使用API​​ 12+,則可以使用Bitmap.sameAs()方法!

+0

你能把我連接到一個可能的例子嗎?我已經搜索了幾次。他們都沒有工作。 –

+0

@Torcellite哪一部分特別?如果您認爲自己正在進行比較,但圖像仍然不同,那麼WhatsApp服務器實際上是否正在更改圖像數據?例如改變壓縮或編碼水印。 – vaughandroid

+0

圖像沒有改動。可能是元數據。 我想知道如何逐個像素地比較圖像。 –