Autor | Zpráva | ||
---|---|---|---|
Karlík Profil * |
#1 · Zasláno: 15. 10. 2007, 13:34:18
Ahoj
Mám databázi registrovaných uživatelů mého webu. Když někdo zapoměne heslo rád bych mu dal možnost si toto heslo poslat na svůj mail (ten který použil při registraci). hesla mám uložena v DB a zakódována pomocí md5(). Jak je mohu rozkódovta a poslat uživateli? |
||
Hugo Profil |
#2 · Zasláno: 15. 10. 2007, 13:46:50
Nijak. MD5 je asymetrická funkce, takže z hashe se nedá získat původní řetězec. Existují sice tabulky řetězec - hash, ale u netriviálních hesel ti to nepomůže.
|
||
Harkonnen Profil |
#3 · Zasláno: 15. 10. 2007, 13:56:30 · Upravil/a: Harkonnen
Nijak. MD5 je asymetrická funkce, takže z hashe se nedá získat původní řetězec. Existují sice tabulky řetězec - hash, ale u netriviálních hesel ti to nepomůže.
A díky bohu za tohle, protože k čemu by pak to šifrování vůbec bylo? Karlík Nejlepší máš asi udělat to, že když někdo zapomene heslo, tak mu na jeho mail, kde se registroval (ale ne jiný!!) pošleš nově vygenerované heslo, se kterým se dostane opět do databáze, ale následně si jej změní jak bude chtít. |
||
nightfish Profil |
#4 · Zasláno: 15. 10. 2007, 15:10:29
Hugo
MD5 je asymetrická funkce spíše jednosměrná Harkonnen protože k čemu by pak to šifrování vůbec bylo? šifrování != hashování Nejlepší máš asi udělat to, že když někdo zapomene heslo, tak mu na jeho mail, kde se registroval (ale ne jiný!!) pošleš nově vygenerované heslo, se kterým se dostane opět do databáze, ale následně si jej změní jak bude chtít. a ještě lepší je poslat mu odkaz na stránku, která má dočasnou platnost, a na které si může nastavit nové heslo... (autorizace požadavku se dá řešit třeba tak, že vygeneruješ nějaký jedinečný identifikátor, který pošleš mailem a na stránce pro změnu hesla tento identifikátor budeš spolu s e-mailovou adresou vyžadovat [samozřejmě identifikátor se může vyplňovat automaticky podle parametrů v URL]) |
||
Hugo Profil |
#5 · Zasláno: 15. 10. 2007, 15:18:49
nightfish
spíše jednosměrná - nojo, nějak mi to ujelo. |
||
Luk@s Profil * |
#6 · Zasláno: 15. 10. 2007, 15:20:42
MD5 se zatím teoreticky dešivrovat nedá,jen najit kolizi dvou řetězců,existují online ******** md5 hashe, jedním z nich je Milw0rm.com
|
||
Karlík Profil * |
#7 · Zasláno: 16. 10. 2007, 08:38:12
A jak vygenerovat nové heslo? Není na o nějaká funkce?
|
||
Hugo Profil |
#8 · Zasláno: 16. 10. 2007, 08:46:33
Např.
MD5(UniqId()) |
||
Joker Profil |
#9 · Zasláno: 16. 10. 2007, 09:08:23
Karlík
A jak vygenerovat nové heslo? Prostě náhodný řetězec. Hugo MD5(UniqId()) To mi nepřijde jako optimální, už vidím, jak nějaký BFU dostane e-mail "Vaše nové heslo je 202cb962ac59075b964b07152d234b70" |
||
Hugo Profil |
#10 · Zasláno: 16. 10. 2007, 09:29:17
Joker
Já jsem taky nikde nepsal, že je to optimální. Pokud to dá jako parametr do URL, tak to projde i přes BFU (samozřejmě pokud má mailového klienta, který tu url pochopí). |
||
Karlík Profil * |
#11 · Zasláno: 16. 10. 2007, 09:35:06
a jak jednoduše generovat náhodný řetězec?
|
||
CATerPILAR Profil |
#12 · Zasláno: 16. 10. 2007, 10:02:12 · Upravil/a: CATerPILAR
Udělal bych si to po svém. Do pole dám znaky A..Z a 0..9
Pak bych cyklem náhodně reneroval čísla a těm přiřazoval znaky z pole. A máš krásný náhodný řetězec tak dlouhý jak dlouhý bude cyklus. |
||
Časová prodleva: 17 let
|
0