Sometimes, we want a zero inconsistency approach to storing objects, so it might make sense to make the identifier (or part of it) the checksum of the content that is to be stored. This guarantees that the underlying content has not been modified.
No, it does not. I come across this false statement again and again. It seems that a lot of developers do not understand what checksums or hashes guarantee and what they absolutely do not guarantee.
Let's set this once and for all:
1. Differing checksums or hashes guarantee that the content is different.
2. Identical checksums or hashes do not guarantee anything. The content could be identical or not.
Comments
No, it does not. I come across this false statement again and again. It seems that a lot of developers do not understand what checksums or hashes guarantee and what they absolutely do not guarantee.
Let's set this once and for all:
1. Differing checksums or hashes guarantee that the content is different. 2. Identical checksums or hashes do not guarantee anything. The content could be identical or not.
If the hash function is collision resistant (e.g. SHA-256) unique hashes are guaranteed in practice.
False.