I have a co-worker who is trying to tell me that his checksum test between objects is a sufficient test to see if they are the same. I am trying to explain that just because two checksums test the same does not mean that the original objects are. Here are some examples.
But he is not convinced, he argues by giving his own examples:
- object A has a checksum (let's say it is '123abc' for arguments sake)
- object B has that same checksum (also '123abc')
- object C is different (it has checksum '789xyz')
- if he fixes the error in object C it now has checksum '123abc', like the other two
He concludes (naively I would say) that his algorithm is sound.
How can I convince him that he is committing a logical fallacy? What is the fallacy?
Basically, what it comes down to is that he has not observed a case where object X and object Y (two dissimilar objects) both have the same checksum. This is an extremely rare situation, yes, but it happens, as demonstrated via the link provided above.
To clarify, I am not looking for a better algorithm. I am specifically after the fallacy he is committing.