# Secure Digest Functions in Cryptography

Cryptographic hashing algorithms, also called hash functions, basically scramble data. A hash function will generally take an arbitrary amount of data, apply a mathematical formula, and produce a fixed length product, called the hash value. Sometimes, you’ll also hear the original data spoken because the message, and also the product is said because the message digest.

Hashing is usually used as a secure way of storing data. Hashing relies on a pair of key principles. Thee primary is thee fact that hashes are one-way; that’s, you’ll use the hash and therefore, the data to create the hash value, but you can’t figure out the data given the hash value. Hash functions should also avoid collisions. A collision is where two different sets of data produce the same hash value. Third, you must not be able to change data without having the hash value also changes.

**Hashing Algorithms**

Hashing algorithms are just as abundant as encryption algorithms, but there are a few that are used more often than others. Some common hashing algorithms include MD5, SHA-1.

**MD5**

This is the fifth version of the Message Digest algorithm. MD5 creates 128-bit outputs. MD5 was a very commonly used hashing algorithm. That was until weaknesses in the algorithm started to surface. Most of these weaknesses manifested themselves as collisions. Because of this, MD5 began to be phased out.

**SHA-1**

This is the second version of the Secure Hash Algorithm standard, SHA-0 being the first. SHA-1 creates 160-bit outputs. SHA-1 is one of the main algorithms that began to replace MD5, after vulnerabilities were found. SHA-1 gained widespread use and acceptance. SHA-1 was actually designated as a FIPS 140 compliant hashing algorithm.