takes data (like a string, or a file's contents) and outputs a hash, a fixed-size string or number.
takes data (like a string, or a file's contents) and outputs a hash, a fixed-size string or number.
takes a key, i.e. a string or integer, for a data record, scrambles it, and outputs an index to be used in a hash table