Autor Zpráva
kai
Profil *
Ahoj, chtěl bych si napsat univerzální funkci na ověřování uživatelských hesel uložených pomocí různých hashovacích algoritmů. Funkce by měla mít jen parametry 'plaintext heslo' a 'hash hesla'. Teď potřebuju vyřešit co nejjednodušeji detekci hashovacího algoritmu u parametru 'hash hesla'. Napadá mě postupně projet všechny algoritmy u fce hash_algos() a zkusit je postupně na heslo a pokud neuspěje tak vyzkoušet funci crypt a pokud ne tak heslo neodpovídá. Jenže to je docela neefektivní. Jak by se to dalo napsat efektivně a co nejjednodušeji?
joe
Profil
Tak používej jen sha1 a je to :-) Případně md5 a ty od sebe rozeznáš délkou hash.
Nox
Profil
napadá mě jen určovat to nějak nesystémově, např. pomocí % (zbytku po dělení) z ID,
potom možná dorovnávat na stejnou délku, buď zkrácením (myslim že může způsobit zvýšení počtu kolizí) nebo prodloužením (uniqid?...nevim jestli může mít bezpečnostní dopad)

zní to bezpečně, ikdyž je to takový podivný mechanismus, tak nevim
DoubleThink
Profil *
Hash se ti bude blbě spolehlivě poznávat. Ne všechny mají konstantní délku, ne všechny produkují jen šestnáctková čísla (jako MD5 nebo SHA1).

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: