Hashing involves taking a variable-length block of data as an input and producing a fixed-length output. The
process produces a new value provided input to the hash function. The hash function involves a mathematical
algorithm that manipulates the input text or key producing a hash value. Hashing is normally used to
validate the integrity of data or the correctness of a password. Some hash functions had been discovered to
be vulnerable against collision attacks, so staying up to date with the state of the art hash function is a
must for security professionals.