A hash algorithm maps a binary value of arbitrary length to a smaller binary value of fixed length, and this small binary value is called the hash value. The hash value is a unique and extremely compact numerical representation of a piece of data. If you hash a plaintext and even change just one letter of that text, the resulting hash will be different. It is computationally infeasible to find two different inputs that hash to the same value, so the hash of data can be used to verify the integrity of the data.