Van értelme a hash hashelésének?
PHPban is ugyanúgy lehet ahogy a példádban írtad, értelme nem sok van, ahogy annak se, hogy md5 meg sha1-et használsz. bcrypt most a divat.
A legnagyobb probléma viszont itt van:
'hash-t encryptelik' = lövésed sincs a dologról sajnos (alapozni kéne) decryptre gondolsz és hashnál az sem lehetséges mert veszteséges.
Hash algoritmusok veszteségesek, mivel azokból a forrás adat (egyértelműen) nem állítható elő. Mit jelent ez? Lehet találni több olyan bemenetet, amelyeknek ugyanaz lesz a hash-e (ezt hívják ütközésnek).
Kérdésedre válaszolva, van értelme egy hash többszöri hashelésének, sőt, gyakorlatban mindig így csinálják, csak nem 3x, hanem több ezerszer, viszont pont az ütközések miatt szoktak iterációnként még trükközni vele (pl hozzáadni a jelszót is, mint ahogy a PBKDF2 is csinálja).
MD5 kriptográfiailag gyengének számít, használj SHA2-t, de még inkább egy erre a célra szolgáló könyvtár szolgáltatásait vedd igénybe. Kriptográfia tipikusan olyan dolog, hogyha nem ért az ember hozzá, nagyon könnyen csinál hülyeséget.
Ami az első hash szerint összeesik, az a végleges hash szerint is össze fog esni. Ezt tovább rontja, hogy erre használsz egy másik hasht, így ez még durvábban fog osztályozni.
A biztonság javulhat, hiszen hasonló módszereket használnak, és minél többször alkalmazzák ezeket a műveleteket, annál nehezebb visszafejteni.
De ha jót akarsz, akkor használj saltot!
A hashek általában nem injektívek, azaz egy hashérték több stringhez is tartozhat. Bizonyítás: Végtelen sok különböző szöveg van, és csak például 2^160 kimenet.
A hash biztonságát salttal lehet javítani. A salt egy véletlen érték, amit a hashsel együtt tárolnak el, és felhasználják a hash kiszámításához. Már az is elég, ha először számnak tekintve összeszorzod vagy összeadod a stringet és a saltot, majd erre ereszted rá a hasht. Ezzel pedig használhatatlanná válik a szivárványtábla.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!