Hash function

A hash function is a function that maps a bit string of arbitrary length to a fixed length bit string. Approved hash functions are specified in FIPS 180-2 and are designed to satisfy the following properties:
 * 1) (One-way) It is computationally infeasible to find any input that maps to any new pre-specified output, and
 * 2) (Collision resistant) It is computationally infeasible to find any two distinct inputs that map to the same output.