Hashing Algorithm

Hashing

A Hash is a string or number which is converted to hash using some hashing function. Hashing will take arbitrary input and produces a string with a fixed length. A given known input must provide one known output. Hashing is a one way function means we can not re-produce raw data from given hash string, and it is not advisable to try different combinations of input data to try to generate the same hash. Hashing is a technique to confirm Integrity of  data through hashing algorithms.


Uses Of Hashing

  • Hashing is used to store passwords in database, means if web server/database server get compromise, Hashing would reduce the impact of data breach.
  • It is used to avoid duplication of data stored in databases
  • hashing is also used in login form. When user enters username/password in web form and press enter button, In a back-end a query get executed which generated hash value with the given input from user and compare it to stored hash with salt in database, When both hash values get matched it allows user to logged in  web application.
In a Layman language we can say Hashing is used to check Integrity/Purity of any data/file. By comparing Hash values of two files we can check whether both files are identical or different.

Popular Hashing Algorithms


MD4 - MD4 is a self-loathing hash algorithm created by Ronald Rivest in 1990. the length of this algorithm is 128 bits. This is a weak algorithm and rarely used now a days.

MD5 - MD5 was created by Ray Rivest in 1992. It produces a 16 byte Hash Value. It is also suffering from known vulnerabilities.

SHA - It is a Secure Hash Algorithm designed by NSA. This algorithm used in most TLS/SSL Cipher Suites. There are three different SHA Algorithms.


  • SHA0 - Rarely Used, Having some defects.
  • SHA1 - Most Commonly used Algorithm produces 20 byte Hash Value.
  • SHA2 - Consist a set of 6 Hashing Algorithm which is also know as SHA256, produces 32 byte Hash Value.
  • SHA3 - It is the latest Hash Algorithm released by NIST in 2015.

References

Post a Comment

0 Comments