used to map data of arbitrary size into bit string of fixed sizes
function used to map data of an arbitrary size/type to a fixed size and type
a hash function is any function that can be used to map data of arbitrary size to data of fixed size. it is essentially used as a digital fingerprint.