Autor Zpráva
Karlík
Profil *
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
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
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
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
nightfish
spíše jednosměrná - nojo, nějak mi to ujelo.
Luk@s
Profil *
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 *
A jak vygenerovat nové heslo? Není na o nějaká funkce?
Hugo
Profil
Např.
MD5(UniqId())
Joker
Profil
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
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 *
a jak jednoduše generovat náhodný řetězec?
CATerPILAR
Profil
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.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0