Hash functions are mathematical functions that take an arbitrarily sized input string, and generate a fixed-size output called a hash value or a message digest. A good hash function
should calculate hashes easily; it will be very difficult to calculate the plaintexts of a given
hash, and it does not generate the same hash for two different inputs, except in rare cases.

There are many well-known hash functions used nowadays; they are as follows:
- Hashed message authentication code
- Message Digest (MD2)
- Message Digest (MD4)
- Message Digest (MD5), if you want to encrypt or decrypt a plaintext you can use http://md5decrypt.net/en/ shown here:

- Secure Hash Algorithm (SHA)
- Whirlpool
- HAVAL
- RIPEMD