A function that takes an input and returns a fixed size string of bytes, typically a digest. Hash functions are used in hash tables, to quickly locate a data record given its search key.