(O) "A (mathematical) function which maps values from a large (possibly very large) domain into a smaller range. A ’good’ hash function is such that the results of applying the function to a
(large) set of values in the domain will be evenly distributed (and apparently at random) over the range." [X509]