
related topics 
{math, number, function} 
{system, computer, user} 
{rate, high, increase} 
{album, band, music} 

A hash function is any welldefined procedure or mathematical function that converts a large, possibly variablesized amount of data into a small datum, usually a single integer that may serve as an index to an array (cf. associative array). The values returned by a hash function are called hash values, hash codes, hash sums, checksums or simply hashes.
Hash functions are mostly used to speed up table lookup or data comparison tasksâ€”such as finding items in a database, detecting duplicated or similar records in a large file, finding similar stretches in DNA sequences, and so on.
A hash function may map two or more keys to the same hash value. In many applications, it is desirable to minimize the occurrence of such collisions, which means that the hash function must map the keys to the hash values as evenly as possible. Depending on the application, other properties may be required as well. Although the idea was conceived in the 1950s,^{[1]} the design of good hash functions is still a topic of active research.
Hash functions are related to (and often confused with) checksums, check digits, fingerprints, randomization functions, error correcting codes, and cryptographic hash functions. Although these concepts overlap to some extent, each has its own uses and requirements and is designed and optimised differently. The HashKeeper database maintained by the American National Drug Intelligence Center, for instance, is more aptly described as a catalog of file fingerprints than of hash values.
Contents
Full article ▸


related documents 
Interval (mathematics) 
Absolute value 
Simplex 
Huffman coding 
Proofs of Fermat's little theorem 
Lua (programming language) 
Gaussian elimination 
RSA 
Cardinal number 
Frame problem 
Compass and straightedge constructions 
Factorial 
Kernel (algebra) 
Numerical analysis 
Sequence alignment 
Group action 
Prime number theorem 
Abelian group 
Dynamic programming 
Central limit theorem 
Denotational semantics 
Multivariate normal distribution 
Entropy (information theory) 
Computable number 
Fundamental group 
Hyperreal number 
Complete lattice 
Binarycoded decimal 
Logic programming 
Infinity 
