Hash function
A hash function is any function that can be used to map digital data of arbitrary size to digital data of fixed size.
Description
The values returned by a hash function are called hash values, hash codes, hash sums, or simply hashes.
One use is a data structure called a hash table, widely used in computer software for rapid data lookup.
Hash functions accelerate table or database lookup by detecting duplicated records in a large file.
- An example is finding similar stretches in DNA sequences.
Hashes and cryptography
Hashes are useful in cryptography.
A cryptographic hash function allows one to easily verify that some input data maps to a given hash value, but if the input data is unknown, it is deliberately difficult to reconstruct it (or equivalent alternatives) by knowing the stored hash value.
This is used for assuring integrity of transmitted data, and is the building block for HMACs, which provide message authentication.
Related concepts
Hash functions are related to (and often confused with):
- Checksums
- Check digits
- Fingerprints
- Randomization functions
- Error-correcting codes
- Ciphers
Although these concepts overlap to some extent, each has its own uses and requirements and is designed and optimized differently
See also
- Bloom filter
- Checksum
- Coalesced hashing
- Cryptographic hash function
- Cryptography
- Cuckoo hashing
- Data structure
- Data authentication
- Data verification
- Distributed hash table
- Function (mathematics)
- Geometric hashing
- Hopscotch hashing
- Hash Code cracker
- Hash table
- HMAC
- Identicon
- Linear hash
- List of hash functions
- Locality sensitive hashing
- Low-discrepancy sequence
- MD5
- MinHash
- Perfect hash function
- PhotoDNA
- Rabin–Karp string search algorithm
- Rolling hash
- Transposition table
- Universal hashing
External links
- Hash function @ Wikipedia