******HASHING*****

 HASHING:

PROCESS OF CONVERTING A STRING IN READABLE FORMAT TO UNRECOGNIZABLE FORMAT.

PROPERTIES:

=> FOR EVERY INPUT , THERE IS A FIXED OUTPUT.

FOR A PARTICULAR INPUT , THERE IS ONLY ONE OUTPUT.

=> THEY ARE ONE-WAY FUNCTIONS, WE CAN'T GET INPUT FROM OUTPUT.

FOR EXAMPLE: CONSIDER A MODULUS FUNCTION  

                 | -5 | = 5 AND

                 |+5| = 5

HERE BASED ON THE OUTPUT (5), THE INPUT CANNOT BE GENERATED OR GUESSED IT MIGHT BE EITHER +5 OR -5.

EX-2:

CONSIDER  A % FUNCTION.

 3%3=0 

 6%3=0

9%3=0

12%3=0

HERE, BASED ON THE OUTPUT (0) THE INPUT CANNOT BE GENERATED OR GUESSED.


=> FOR A DIFFERENT INPUT , THERE IS A DIFFERENT OUTPUT BUT OF SAME LENGTH.

WHATEVER MIGHT BE THE INPUT, THE OUTPUT IS OF THE SAME LENGTH.



=> SMALL CHANGES IN THE INPUT SHOULD BRING LARGE CHANGE IN THE OUTPUT.




FOR EXAMPLE: 

I/P : abc  O/P : grdasgbsertawe4rfj

I/P:abd   O/P:rtshbdnjhrjrtfgjuyku

HERE, THERE IS A SMALL CHANGE IN THE INPUT THE OUTPUT VARIES A LOT.

HERE WE USED SHA-256  IT IS A FAST ALGORITHM ,BUT WE GENERALLY DO NOT NEED FAST ALGORITHMS , AS THE ATTACKER MIGHT USE SOME MOST COMMONLY USED PASSWORDS AS INPUTS AND AS THE ALGORITHM IS FAST , THERE IS A CHANCE OF ATTACKS.


Comments

Popular posts from this blog

DATABASE RELATIONSHIPS

ROUTING (GET /) home route

Query Strings