Encryption vs Hashing
In hashing, a code is computed from data in such a way that it is exceedingly difficult for anyone to find data that produces the same code. Agents exchange the code for verification over an unreliable network (such as internet). For instance, in a user authentication situation the server may issue a challenge (a random number). The client obtains the password and transmits the hash of the challenge and the password, which the server compares to its hash of that data. Well known algorithms are SHA1, MD4 and MD5.