Hashing is a one-way encryption. It is a form of encryption that creates a scrambled output that cannot be reversed, or at least cannot be reversed easily. The process of hashing takes plaintext and transforms it into ciphertext, but does so in such a way that it is not intended to be decrypted. The process outputs what is known as a hash, hash value, or message digest.

Designed to be a one-way process, hashing is commonly used to validate the integrity of information. A hash function generates a fixed-length value that is always the same length not matter how large or small the data entering the process or algorithm is. The resulting value is unique for every different input that enters the process. It is due to this unique property and its behavior that hashes are used to detect the changes that can happen in data of any type.

Hashing lets you easily detect changes in information: anything that is hashed and then changed, even a small amount, will result in an entirely different hash from the original. A one-way hash function is also sometimes referred to as a one-time cipher key, or a thumb print.

A one-way hash function used in the privacy-enhanced mail protocols (PEM) along with MD5.

A one-way hash function (once) used for PGP and other systems. MD4 has been replaced by MD5 in most cases.

An improvement and redesigned version of MD4 that produces a 128 bit hash. MD5 is still fairly popular in many circles, but it is being phased out due to weaknesses that have led to systems being vulnerable. In many cases, MD5 has been replaced with SHA2.

A hashing algorithm that was designed by Ron Rivest.

A variable-length, one-way hashing algorithm and a modification of MD5.

A hashing algorithm designed by the creators of AES.

A hash that is optimized for 64 bit processors but works well on other systems.

A hashing algorithm commonly used in Europe, that produces a 128 bit hash. RIPE-MD is also considered insecure.

A 160-bit hashing algorithm, comparable to SHA-1.

A 128-bit hashing algorithm similar to RIPEMD-160 but reduced to 128 bits.

Used prior to SHA1 and has since been replaced by SHA1.

On of the more commonly used hashing algorithms. It has been broken.

A hashing algorithm designed to be an upgrade to SHA1.

Designed to be a one-way process, hashing is commonly used to validate the integrity of information. A hash function generates a fixed-length value that is always the same length not matter how large or small the data entering the process or algorithm is. The resulting value is unique for every different input that enters the process. It is due to this unique property and its behavior that hashes are used to detect the changes that can happen in data of any type.

Hashing lets you easily detect changes in information: anything that is hashed and then changed, even a small amount, will result in an entirely different hash from the original. A one-way hash function is also sometimes referred to as a one-time cipher key, or a thumb print.

**Examples of hashing algorithms could be...****Message Digest 2 (MD2):**A one-way hash function used in the privacy-enhanced mail protocols (PEM) along with MD5.

**Message Digest 4 (MD4):**A one-way hash function (once) used for PGP and other systems. MD4 has been replaced by MD5 in most cases.

**Message Digest 5 (MD5):**An improvement and redesigned version of MD4 that produces a 128 bit hash. MD5 is still fairly popular in many circles, but it is being phased out due to weaknesses that have led to systems being vulnerable. In many cases, MD5 has been replaced with SHA2.

**Message Digest 6 (MD6):**A hashing algorithm that was designed by Ron Rivest.

**HAVAL:**A variable-length, one-way hashing algorithm and a modification of MD5.

**Whirlpool:**A hashing algorithm designed by the creators of AES.

**Tiger:**A hash that is optimized for 64 bit processors but works well on other systems.

**RIPE-MD:**A hashing algorithm commonly used in Europe, that produces a 128 bit hash. RIPE-MD is also considered insecure.

**RIPEMD-160:**A 160-bit hashing algorithm, comparable to SHA-1.

**RIPEMD-128:**A 128-bit hashing algorithm similar to RIPEMD-160 but reduced to 128 bits.

**Secure Hash Algorithm 0 (SHA0):**Used prior to SHA1 and has since been replaced by SHA1.

**Secure Hash Algorithm 1 (SHA1):**On of the more commonly used hashing algorithms. It has been broken.

**Secure Hash Algorithm 2 (SHA2):**A hashing algorithm designed to be an upgrade to SHA1.

**A message flow**- Bob creates a message.
- Bob hashes the plaintext message using a hashing algorithm.
- Bob Encrypts the hash with his private key.
- Bob binds the encrypted bundle and the plaintext message together.
- Bob sends the combination to Alice.
- Alice sees that the message came from Bob.
- Alice retrieves BOB's public key from the CA (Certificate Authority) they both trust.
- Alice decrypts the hash using Bob's public key; thus validating the identity of the sender.
- Alice reruns the hashing algorithm against the plaintext message and compares the new hash with the one she received from Bob.
- Alice confirms the two hashes match each other; this validating the integrity of the message is intact.