MD5 og SHA krypterer ikke, de hasher. Her er forskellen:
Når du krypterer en klartekst via en krypteringsalgoriutme og en nøgle for du det der kaldes Chipher tekst, der ikke kan læses af mennesker. Hvis du har Chipher teksten og nøglen, kan du dekrypterer og ende med klarteksten igen
MD5 og SHA er det man kalder Oneway Hashese. Dv.s at du omsætter din klartekst til en hashværdi på en fast længde. Du kan ikke tage denne hashværdi go gå den anden vej. Det er også klart at der ikke er tale om den samme sikkerhed som når vi taler ritig kryptering idet alle hashværdierne har fast længde. Det er med andre ord lige meget om du hasher bogstaver i eller du hasher biblen, du enden med en hashværdi af samme længde i begge tilfælde. Dette betyder at der må være du udgangspunkter der giver den den samme hashværdi.
Den måde password hashing virker på er således.
Når du indtaster et password, så omsættes det til en hashværdi der gemmes. når du næste gang indtaster et password, omsættes det også til en hashværdi der sammenligned med den gemte, hvis de er ene har du tastet det samme password.
Du kan læse om gode password og om passwordcracking her
http://www.bufferzone.dk/Vidensbank/valgafpassword.htm