Difference between revisions of "Hash function"
Karl Jones (Talk | contribs) (→See also) |
Karl Jones (Talk | contribs) (→External links) |
||
Line 45: | Line 45: | ||
* [https://en.wikipedia.org/wiki/Hash_function Hash function] @ Wikipedia | * [https://en.wikipedia.org/wiki/Hash_function Hash function] @ Wikipedia | ||
+ | |||
+ | [[Category:Computation]] | ||
+ | [[Category:Computer science]] | ||
+ | [[Category:Data structures]] |
Revision as of 18:50, 21 April 2016
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
- Checksum
- Cryptography
- Data structure
- Data authentication
- Data verification
- Function (mathematics)
- Mathematics
External links
- Hash function @ Wikipedia