2013-01-04 2 views
0

WhatsApp는 공유시 이미지의 복사본을 중복 생성합니다. 이미지의 해상도는 동일하지만 원본 이미지의 MD5 체크섬과 사본이 다릅니다. 왜 이런거야? 내 앱이 이것이 중복 된 이미지임을 깨닫게하려면 어떻게해야합니까?복제본에 다른 MD5 체크섬이 있습니다.

MD5 및 Sha-1을 사용해 본 결과 두 알고리즘 모두 두 이미지에 대해 서로 다른 체크섬을 생성했습니다.

답변

1

메타 데이터에는 차이가있을 수 있습니다 (예 : 복사본이 만들어지면 WhatsApp 서버에 의해 타임 스탬프가 변경되었을 수 있습니다.

이미지의 픽셀 데이터를 검색하고 그에 대한 체크섬을 실행하는 것이 좋습니다. Bitmap.getPixels() 메서드를 사용할 수 있습니다. 예 : myBitmap.getPixels(pixels, 0, myBitmap.getWidth(), 0, 0, myBitmap.getWidth(), myBitmap.getHeight());

체크섬이 동일하므로 반드시 이미지가 아닙니다. 체크섬이 일치하면 이미지가 동일하다는 것을 100 % 확신하도록 데이터를 요소별로 비교해야합니다.

편집 : 평등 here에 대한 픽셀 단위 테스트를 수행하는 방법의 좋은 예있다. API 12+를 사용하는 경우 Bitmap.sameAs() 메소드를 사용할 수 있습니다.

+0

가능한 예를 들어 주시겠습니까? 나는 이것을 여러 번 봤다. 그들 중 누구도 일하지 않았습니다. –

+0

@ 톡 셀루트 특히 부분? 비교를 제대로하고 있지만 이미지가 여전히 다르다면 WhatsApp 서버가 실제로 이미지 데이터를 변경하고있는 것일 수 있습니까? 예 : 압축을 변경하거나, 워터 마크를 인코딩하는 것. – vaughandroid

+0

이미지에는 변경된 사항이 없습니다. 아마 메타 데이터 일 겁니다. 픽셀 단위로 이미지를 비교하는 방법을 알고 싶습니다. –

관련 문제