SQL CHECKSUM() och MD5 är Hash-funktioner . Hashing är en enkelriktad algoritm som kan ta valfritt antal tecken/byte och returnera ett fast antal tecken/byte.
Det betyder att oavsett om din inmatning är ett tecken eller en hel bok (Krig och fred) kommer du att få tillbaka samma längd på svar. Så ingången är oändligt antal kombinationer medan utmatningen är ändlig. Baserat på det är det oundvikligt att få samma Hash för olika värden. Det kallas Hashkollision . Bra Hash-algoritmer försöker mildra detta för att göra det svårt att hitta dessa kolliderande värden.
Men nog med teori om hash. Här är exakt svaret på din fråga. Vad är problem med CHECKSUM() ?