Autor | Zpráva | ||
---|---|---|---|
Tomashekk Profil |
Potřeboval bych poradit jak bezpečně "zakodovavat" hesla. MD5 je prolomena. Někde jsem četl že o něco bezpečnější je sha1(md5(sha1(heslo))) . Poraďte mi prosím. Ovšem také poradit, jak to rozkoduju :) …
Také jsem četl, že se doporučuje využívat něčeho jako je md5('retezec'+'heslo') Moderátor Alphard: Odemykám vlákno. Je to častější problém a nevidím důvod, aby se zde nemohlo něco doplnit. Nevhodné příspěvky budou smazány jako všude jinde.
|
||
Webotikon Profil |
#2 · Zasláno: 17. 10. 2010, 18:42:52 · Upravil/a: Webotikon
Tomashekk:
Použi solený hash. |
||
Keeehi Profil |
#3 · Zasláno: 17. 10. 2010, 18:44:06
Tomashekk:
„Ovšem také poradit, jak to rozkoduju“ Nerozkóduješ. Právě proto se to dělá, aby to nešlo zpětně dekódovat. Když budeš někdy chtít ověřit, zda to se hash v databázi shoduje s heslem, které dostaneš při přihlašování, vezmeš to heslo a stejným postupem ho "zakóduješ" a pak už jen provnáš ty zašifrované řetězce. |
||
ShiraNai7 Profil |
#4 · Zasláno: 17. 10. 2010, 18:46:06
Tomashekk:
„Ovšem také poradit, jak to rozkoduju :) .“ - Nijak. Hashovací funkce nic nekódují, nýbrž vypočítají otisk který je unikátní pro daný vstup (např heslo). „Také jsem četl, že se doporučuje využívat něčeho jako je md5('retezec'+'heslo')“ - ano, to se nazývá "salt" nebo také sůl (jak psal Webotikon) ... jednoduše do hashovaného řetězce přidáš další data, třeba uživatelské jméno, aby byla sůl pro každé uložené heslo v databázi unikátní „Někde jsem četl že o něco bezpečnější je sha1(md5(sha1(heslo)))“ - tímhle nic moc nezískáš |
||
Tomashekk Profil |
#5 · Zasláno: 17. 10. 2010, 20:55:38
super, díky lidi,
takže například nějak takto? $heslo = md5($_POST['heslo']."aUrnwQ"); |
||
Webotikon Profil |
#6 · Zasláno: 18. 10. 2010, 08:26:05
Tomashekk:
„takže například nějak takto?“ Použi radšej SHA1 namiesto MD5. |
||
Časová prodleva: 14 let
|
0