A hash function is a mathematical process of taking a message (the input) of arbitrary length and turning it into a fixed length message digest (the output).