Autor | Zpráva | ||
---|---|---|---|
BuGeR Profil |
#1 · Zasláno: 21. 3. 2010, 12:15:22
Zdravím.
Chtěl bych se zeptat, jestli jde nějak zjistit zda např. proměna $hash, ma format md5 nebo sha1? Děkuji :) |
||
AM_ Profil |
#2 · Zasláno: 21. 3. 2010, 12:17:40
md5 má 32 znaků v rozsahu 0-9a-f, SHA1 je o něco delší, nevím z hlavy, kolik.
|
||
Nox Profil |
#3 · Zasláno: 21. 3. 2010, 12:28:50
Podle PHP manuálu 40... každopádně md5 a sha1 nejsou jediné existující algoritmy (pokud to není z tvého programu ale prostě obecně nějaký hash)
|
||
panther Profil |
#4 · Zasláno: 21. 3. 2010, 12:31:03
stejně porovnávání nebo určování hashovací fce podle délky hashe až tak úplně přesné být nemusí. Stačí ke kratšímu md5 přidat sekvenci, třeba i náhodných, znaků (na začátek, doprostřed, na konec, ...) a rázem se tváří jako delší sha1.
|
||
AM_ Profil |
#5 · Zasláno: 21. 3. 2010, 12:38:48
panther:
nicméně otázka zněla, jak rozeznat md5 nebo sha1. A to se dá bezpečně podle délky. Pokud nakonec přidáš nějaké znaky, už to není "ve formátu" md5. Pokud měl BuGeR na mysli rozpoznání úplně neznámého hashe, pak položil otázku špatně, pokud to ale myslel tak, jak to napsal, tak není moc co řešit:) |
||
panther Profil |
#6 · Zasláno: 21. 3. 2010, 12:41:32
AM:
ok. Pokud to je prostý hash a má na výběr ze dvou možností, pak ano. Jen mi přišlo fér upozornit BuGeRa na fakt, že hash nemusí být jen prostý hash :-) Že jsou i jiné hashovací funkce než tyto dvě, bylo již zmíněno výše [#3]. |
||
BuGeR Profil |
#7 · Zasláno: 21. 3. 2010, 12:46:56
AM:
Mam namysli něco ve smyslu : if(je_md5($hash)) { echo $hash." je md5."; } else if(je_sha1($hash)) { echo $hash." je sha1."; } Jinak děkuji všem, ptám se jen tak pro zajimavost, protože píšu jeden script a napadlo mě to, ulehčilo by mi to práci :). |
||
Nox Profil |
#8 · Zasláno: 21. 3. 2010, 12:49:55 · Upravil/a: Nox
BuGeR:
Nevím co přesně zamýšlíš, ale pokud plánuješ mít v aplikací víc hashů, doporučoval bych to k nim prostě napsat (třeba další sloupec v db nebo nevim), bezpečnostní riziko to není |
||
mckay Profil |
#9 · Zasláno: 21. 3. 2010, 12:51:09
BuGeR:
Tak tady u těch funkcí to bude hodně jednoduché - použij strlen(); |
||
Časová prodleva: 14 let
|
0