Autor Zpráva
hrk
Profil *
Píšu pro svou aplikaci fci pro generování náhodných znaků. Tuto fci budu chtít používat např. jako základ pro generování hashů, jako hodnoty bezpečnostních tokenů, pro fci crypt() jako salt. Jaké znaky jsou bezpečné pro použití? Všiml jsem si např., že je problém u fce crypt se znakem $ který má speciální význam a asi to nebude jediný nekonfliktní znak v php.
Lamicz
Profil
Viděl bych to na [a-z0-9], nekomplikoval bych to s nějakými speciálními znaky.
hrk
Profil *
Jenže každým dalším znakem by trvalo déle, než by případný útočník na daný řetězec přišel (zanedbáme-li konkrétní použití tohoto řetězce).
Keeehi
Profil
hrk:
[a-z0-9]
1 znak: 34 kombinací
2 znaky: 34*34 = 1 156 kombinací
3 znaky: 34*34*34=39 304 kombinací

8 znaků: 1 785 793 904 896
n znaků: 34 na entou kombinací

Pokud by jsi měl osmi znakový řetězec a útočník by každou sekundu zvládl zkusit milion hesel, trvalo by mu to 20 dní. Chtěl bych vidět server, na kterém budeš tu aplikaci mít, jak by zvládl každou sekundu přijmout milion požadavků, vykonat script a odeslat odpovědi.

Pokud se ti to zdá pořád málo, můžeš rozsah rozšířit i o [A-Z], počet kombinací je 58 na entou.

Útočník neví, jaký rozsah jsi použil při generování řetězce pro hashovací funkci. Proto může zkoušet hesla i z většího rozsahu.
AM_
Profil
vzhledem k tomu, že nejde o hesla zadávaná uživatelem, ale o automaticky generovaný salt, ničemu nevadí, když bude trochu delší. Bohatě stačí 20 znaků z rozsahu [a-z0-9] a takové heslo se bude při 1 000 000 pokusů za sekundu louskat 135136209 miliard let. Pokud se vědci příliš nemýlí, náš vesmír je starý cca 15 miliard let.

Vaše odpověď

Mohlo by se hodit

Odkud se sem odkazuje


Prosím používejte diakritiku a interpunkci.

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