This program generates short authenticators roughly as described at , but with a 10-bit hash and a 14-bit salt (to remove the requirement for generation of a hash prefix collision and transmission of the nonce used to create the collision). WARNINGS: This scheme trades in some security to gain usability. (Well, I think it improves usability compared to comparing whole hashes - you might disagree.) It only guarantees that an attacker can't be successful in more than 1% of attack attempts, and being successful in 0.5% still requires about 2^100 operations, but being successful in about 0.1% of all attempts should be pretty simple. Therefore, only use this to verify the authenticity of data transmitted in such a way that it would be intolerable for an attacker to be discovered after a single attack attempt with 99% probability. I am not aware of anyone having reviewed either the scheme or the implementation. Therefore, it's probably not a good idea to rely on this.