Working with the hash value
What is a hash value or why are image patterns more powerful?
A hash value is like a fingerprint - just for a file, not a finger. This means, that the hash value is a unique string, which is calculated from the file content. As a result, a change to a file has a change in the hash value as well.
If just the font color will be changed in a text document, the hash value is completely different - even though the content has remained the same. But that is precisely the point of a hash value: to identify an element 100% .
Applying this to image elements, we can assume, there are almost infinite possibilities to produce a different hash for one single image element.
Example:
Comparing hash values:
Changes |
Hash values |
Original image (jpg) |
98379517f2a00168b8a01e07eed555c7 |
Size of image element and pixelation |
5e976834d56c973bb459d46a17950f7d |
Black bar |
e396cba745e82fc2ae20f048c2e18727 |
Horizontal flip |
0aed6c4e73ef35b09c10df24aac6d686 |
Brightness / Contrastt |
3a17a30e85d015ed53a987aae7bcc821 |
Vertical flip / Black-white |
2587fcc1647b402302f0b5c4ce7a4b34 |
With a hash comparison, none of the 5 edited image elements would be recognized/discovered.
DoublePics though found a "match" to the original image element by its pattern processor in each of these image elements - depending on the used search parameters. After all, the content (the image element itself), which counts in the end, is still the same.