A check digit is a way of validating the integrity of your data (see data integrity). By using an algorithm to create a digit unique to the data being transmitted you can then use the same algorithm on the other end (or at a different time) to check whether the data is valid. If it has got corrupted the check digit will probably be wrong for the number. This check digit is usually tagged onto the end of the data being transferred.

An example where a check digit is used is for ISBN numbers where the Mod 11 hash function is used to create a check digit.


lj had this to say on the matter of a check digit which I don't understand totally so I'll just copy and paste and hope that this has more meaning for others.

'Because of the pigeonhole principle ("if you have n holes, and n+1 pigeons, at least one pigeon has to share"), a check digit can never be unique to the data it hashes, as it contains less entropy than the hashed data.