Hash generátor
Generáljon kriptográfiai hash-eket bármilyen szövegből.
Mi az a kriptográfiai hash?
Egy kriptográfiai hash-függvény tetszőleges bemenetet – egyetlen karaktert, dokumentumot vagy egy teljes fájlt – fogad, és egy rögzített hosszúságú hexadecimális karakterláncot, az úgynevezett digest-et állít elő belőle. Ugyanaz a bemenet mindig ugyanazt a hash-t adja, de még a bemenet legapróbb módosítása is teljesen eltérő kimenetet eredményez. Ezt nevezzük lavinaflatásnak.
A hash-függvények egyirányú műveletek: az eredeti bemenetet nem lehet a hash-ből visszafejteni. Ez alapvetően megkülönbözteti őket a titkosítástól, amelyet arra terveztek, hogy a megfelelő kulccsal visszafejthető legyen. A hash-elést adatintegritás-ellenőrzésre, jelszómentésre, digitális aláírásokra és sok más biztonsági alkalmazásra használják.
Támogatott hash-algoritmusok
- SHA-1: Az SHA-1 egy 160 bites hash-t (40 hex karaktert) állít elő. Egykor a TLS-tanúsítványok és a Git-commitok szabványa volt, de 2017-ben kriptográfiai gyengeségeket fedeztek fel benne. Az SHA-1-et mostanra biztonsági célokra elavultnak nyilvánították, de nem biztonsági ellenőrző összegekhez még elterjedt.
- SHA-256: Az SHA-256 egy 256 bites hash-t (64 hex karaktert) állít elő. Ma a legszélesebb körben alkalmazott algoritmus, amely TLS-kapcsolatokat, Bitcoin-tranzakciókat, kódaláírási tanúsítványokat és szoftvercsomagok ellenőrzését biztosítja.
- SHA-384: Az SHA-384 egy 384 bites hash-t (96 hex karaktert) állít elő. Az SHA-512 egy csonkított változata, amelyet általában TLS-tanúsítványláncokban és HMAC-konstrukciókban alkalmaznak, ahol extra biztonsági tartalékra van szükség.
- SHA-512: Az SHA-512 egy 512 bites hash-t (128 hex karaktert) állít elő. Az SHA-2 családon belül a legnagyobb szilárdságot kínálja, és 64 bites processzorokon akár gyorsabb is lehet az SHA-256-nál, mert natívan 64 bites szavakon dolgozik.
A hash-elés általános felhasználási területei
- Fájl integritásának ellenőrzése az ellenőrző összegek letöltés utáni összehasonlításával.
- Jelszavak biztonságos tárolása adatbázisokban (mindig egyedi sóval felhasználónként).
- Dokumentumok és szoftvercsomagok digitális aláírásának generálása.
- Gyorsítótár-érvénytelenítés a webfejlesztésben tartalomhasításnak a fájlnevekhez való hozzáfűzésével.
- Egyedi, tartalomalapú azonosítók létrehozása elosztott rendszerekben.
Hash vs. titkosítás
A titkosítás visszafordítható – a helyes kulccsal vissza lehet fejteni az adatokat. A hash-elés egyirányú folyamat – a hash-ből nem állítható vissza az eredeti szöveg. Ez teszi a hash-elést ideálissá jelszavakhoz (csak ellenőrzésre, visszaállításra nincs szükség) és integritás-ellenőrzéshez (csak a változások észlelésére van szükség).
Biztonságos-e a szövegem?
Minden hash-elés a böngésző beépített Web Crypto API-ját (crypto.subtle) használja. A szöveg soha nem kerül továbbításra semmilyen szerverre. A Web Crypto API ugyanaz a kriptográfiai motor, amelyet a HTTPS is használ, garantálva az ipari szabványoknak megfelelő implementációkat minden algoritmusnál.
Gyakran ismételt kérdések
Előállíthatnak-e két különböző bemenet azonos hash-t?
Elméletileg igen – ezt ütközésnek nevezzük. Az SHA-256 esetén azonban egy ütközés megtalálásához kb. 2¹²⁸ műveletre lenne szükség, ami a jelenlegi vagy belátható technológiával kivitelezhetetlen. Az SHA-1-ütközéseket már demonstrálták, ez az oka az elavulttá nyilvánításának.
Melyik hash-algoritmust érdemes használni?
A legtöbb célra az SHA-256 a legjobb választás. Erős biztonságot, széles körű kompatibilitást és kiváló teljesítményt nyújt. Használja az SHA-512-t, ha extra biztonsági margóra van szüksége, vagy 64 bites rendszereken dolgozik, ahol gyorsabb lehet. Kerülje az SHA-1-et minden biztonsági szempontból kritikus alkalmazásban.