Pokud si ve webovem prohlizeci muzes heslo zobrazit, je to vetsinou proto, ze ty sam jsi ho lokalne na tvem pocitaci do toho prohlizece ulozil. To heslo je teda stale u tebe a ne nikde na serveru.
Co se tyka overeni hesla na serveru:
Zadas nekam sve uzivatelske jmeno a heslo, server si vyhleda v databazi tve uzivatelske jmeno a proti nemu overi heslo, kdyz je shodne, pusti te dal.
Heslo muze byt v plaintextu: napriklad "HESLO", server ma ulozeno "HESLO" a oboji se shoduje, tak je to ok. Problem to je z toho duvodu, ze kdyz nekdo odcizi serveru databazi, okamzite zna uzivatelska jmena i hesla uzivatelu.
Pouziva se to teda jinak. Ty zadas "HESLO" a server tam prida nejake znaky, vysledek je "HE123SL456O". Potom spocita kontrolni hash soucet, vysledek pro zadane je "3696b35884ee6c675c7fbf5897e1f6d7" napriklad v algoritmu md5. Tento vysledek priradi ke tvemu uzivatelskemu jmenu do databaze. Kdykoli se chces prihlasit, tak to udela znovu a zkontroluje ten kontrolni hash soucet, jestli se nezmenil. Kdyz nekdo tu databazi ukradne, zna uzivatelske jmeno a kontrolni hash soucet, ale nezna heslo, takze se nikam probourat nemuze, zpetne to rozsifrovat nelze. (Musel bys mit tak vykonny pocitac, ktery by prekontroloval vsechny mozne kombinace a takovy neexistuje.)