dornyika.com > hash

Hash függvények, MD5, SHA-1

Amikor ezekkel a kifejezésekkel találkoztam, fogalmam sem volt, hogy mit jelentenek, egy idő után már viszont idegesített, illetve alkalmaznom is kellett, úgyhogy utánanéztem. A hozzám hasonló amatőrökhöz szólva, összefoglalom, mit találtam. A "hash" (jelentése: vagdalék, vagdalt) függvények különböző adatokból egy relatív kevés karakterből álló digitális "ujjlenyomatot" gyártanak, azáltal, hogy "vagdalja" és "összekeveri" az adatokat. A függvény eredményét "hash sum"-nak, "hash value"-nek hívják.

Az md5 (Message-Digest algorithm 5) egy ilyen hash függvény (1991-ben alkották meg), amit általában fájlok integritásának ellenőrzésére, illetve titkosításra használnak. (Később több hiányosságot is felfedeztek a függvényben, ezért más, biztonságosabb algoritmusok használatát javasolják manapság, mint amilyen pl. az SHA-1.)

Függvények tulajdonságai:

Példák (adat bemenet -> a függvény eredménye):

papir -> b2c2f20220056e96157d99bae0814e76
probakeppen tobb szot irok -> 4e22cc06eb2fa5797c844f6abc25e9b0

Gyakorlati alkalmazás

Fájlok integritásának ellenőrzése: A cél, hogy miután letöltöttünk egy fájlt, ellenőrizni lehessen, hogy nem sérült-e. Ez úgy történik, hogy az eredeti fájlhoz mellékelik az adott fájl (adat) hash értékét. A fájl letöltése után az illető is kiszámítja annak a hash értékét, és ha nem egyezik, akkor két fájl nem azonos, azaz sérült a letöltés. Az hash értékek kiszámításához többféle programot lehet letölteni az internetről, a különböző függvényekhez MD5sums vagy HashTools), illetve számos online számoló is létezik.

Jelszavak titkosítása: Jelszavak titkosítására az md5 nem ajánlott, mert feltörhető lehet (pl. online hash cracker), de az elv ugyanaz, az adott jelszóhoz tartozó hash érték van eltárolva, amikor az ember megadja az adott jelszót, akkor annak kiszámítja a hash értékét, és összeveti a tárolttal.

2007/08/27 10:00:00