Introduction to Hashing

What is Hashing?

Hashing is a technique used to transform a variable length input into a fixed-length output. The output value is known as a hash value, message digest or digital fingerprint.

This is a one-way mathematical function that is relatively easy to compute, but significantly harder to reverse. 





Hashing is designed to verify and ensure;
  • Data Integrity
  • Authentication

Where to use hash?

  1. Storing passwords in software systems
  2. Ensuring the integrity of messages during communication
  3. Creating indexes in databases 

Examples for HASH functions …

  • MD5
  • SHA1

What is salting?

In password protection, salt is a random string of data used to modify a password hash. Salt can be added to the hash to prevent a collision by uniquely identifying a user's password, even if another user in the system has selected the same password. Salt can also be added to make it more difficult for an attacker to break into a system by using password hash-matching strategies because adding salt to a password hash prevents an attacker from testing known dictionary words across the entire system.






Comments

Popular posts from this blog

Introduction to Encryption

Cross-Site Request Forgery protection in web applications via Double Submit Cookies Patterns

How to do a Phishing attack on Facebook?