Hash Function is process of turning message of arbitrary length into a fixed length message. The values or data turned by hash function are called digests, hash codes, hash values or simply hashes. The hash values are used to catalog a fixed size table called hash table. The use of hash table and hash function to index is called scatter storage addressing or hashing.
The hash tables and hash function are used in storage of data and applications retrieval to access values. Hash function are related to check digits, checksums, lossy compression, fingerprints, ciphers, error correcting codes and randomization functions. Though the model overlap to some level, each one has its own requirements and uses and it optimized and designed differently.