A hash (sometimes listed as a checksum) is a fixed-size string of numbers or hexadecimal characters.
Hashing is a common method of ensuring integrity. Hashing verifies the integrity of data, such as downloaded files and email messages.
Hashing algorithms are one-way functions used to create a hash. You cannot reverse the process to re-create the original data.
Passwords are often stored as hashes instead of the actual password. Salting the password thwarts many password attacks.
Common hashing algorithms are Message Digest 5 (MD5), Secure Hash Algorithm (SHA), and Hash-based Message Authentication Code (HMAC). HMAC provides both integrity and authenticity of a message.
Transport encryption protocols such as Internet Protocol security (IPsec) and Transport Layer Security (TLS) use HMAC-MD5 and HMAC-SHA1.
A hash value (or simply hash), also called a message digest, is a number generated from a string of text. The hash is substantially smaller than the text itself, and is generated by a formula in such a way that it is extremely unlikely that some other text will produce the same hash value.
Hashes play a role in security systems where they’re used to ensure that transmitted messages have not been tampered with.
The sender generates a hash of the message, encrypts it, and sends it with the message itself.
The recipient then decrypts both the message and the hash, produces another hash from the received message, and compares the two hashes.
If they’re the same, there is a very high probability that the message was transmitted intact.