<programming> A hash coding function which assigns a data item distinguished by some "key" into one of a number of possible "hash buckets" in a hash table. The hash function is usually combined with another more precise function.
For example a program might take a string of letters and put it in one of twenty six lists depending on its first letter. Ideally, a hash function should distribute items evenly between the buckets to reduce the number of hash collisions. If, for example, the strings were names beginning with "Mr.", "Miss" or "Mrs." then taking the first letter would be a very poor hash function because all names would hash the same.