Mi ez az eszköz?
A SHA-256 (Secure Hash Algorithm 256-bit) bármilyen bemenetet fix, 64 karakteres hexadecimális ujjlenyomattá alakít. Ugyanaz a bemenet mindig ugyanazt a hash-t adja, és már egyetlen karakter megváltoztatása is teljesen más eredményt hoz létre. A SHA-2 család része, amelyet az NSA publikált, és amelyet a NIST 2001-ben szabványosított.
Az MD5-tel és a SHA-1-gyel ellentétben a SHA-256 esetében nincs ismert gyakorlati ütközéses vagy preimage-támadás, és jelenleg is az aktuális biztonsági szabvány. Ezen alapulnak a TLS tanúsítványok, a Bitcoin és más blokkláncok, a kódaláírás, valamint a jelszó-hashelési eljárások (általában lassú kulcsleszármaztatási függvénnyel kombinálva).
Egy SHA-256 hash "visszafejtése" — vagyis az eredeti bemenet kiszámítása kizárólag a hash alapján — tervezésénél fogva számításilag megoldhatatlan: 2^256 lehetséges kimenet létezik, és a függvény szándékosan eldob információt, így nem futtatható visszafelé. Az úgynevezett "SHA-256 dekóder" oldalak úgy működnek, hogy hash-eket keresnek ki hatalmas, előre kiszámított táblázatokból, amelyek gyakori bemeneteket (szótári szavak, gyakori jelszavak) tartalmaznak — valójában nem fejtik vissza az algoritmust, és egyedi vagy véletlenszerű bemeneteket egyszerűen nem találnak meg.
Miért érdemes használni?
- Generálj SHA-256 hash-t, hogy ellenőrizd, egy fájlt vagy szöveget nem manipuláltak-e.
- Ellenőrizd, hogy egy jelszó vagy fájl megegyezik-e egy ismert SHA-256 ellenőrzőösszeggel, az eredeti érték felfedése nélkül.
- Hozz létre determinisztikus, ütközésmentes gyorsítótár-kulcsokat és integritás-ellenőrzőösszegeket.
- Hasonlítsd össze egy letöltött fájl SHA-256 hash-ét a kiadó által közzétett ellenőrzőösszeggel.
- 100%-ban helyi: a beírt adat sosem hagyja el a böngészőt.
Használati útmutató
- Gépeld be vagy illeszd be a szöveget a beviteli mezőbe.
- Kattints a "Hash generálása" gombra.
- Olvasd le a 64 karakteres SHA-256 eredményt (jelöld be a "Nagybetűs kimenet" opciót, ha a rendszered nagybetűket vár).
- Kattints a "Másolás" gombra a hash másolásához, vagy hasonlítsd össze közvetlenül egy ismert értékkel az egyezés ellenőrzéséhez.
Példa
Bemenet
helloKimenet
SHA-256: 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824A hashelés determinisztikus: a "hello" minden eszközön, minden alkalommal pontosan ezt a 64 karakteres értéket adja.
Miért helytelen a "visszafejtés" szó a SHA-256 esetében
A titkosítást és a hashelést gyakran összekeverik, pedig eltérő problémákat oldanak meg. A titkosítás tervezésénél fogva visszafordítható — a megfelelő kulccsal a titkosított szöveg visszaalakul olvashatóvá. A hashelés szándékosan egyirányú: a SHA-256 bármekkora bemenetet fix, 256 bites ujjlenyomattá tömörít, közben információt dobva el, így nincs olyan kulcs, amely visszafordítaná. Pontosan ez a tulajdonság teszi hasznossá integritásellenőrzésekhez és digitális aláírásokhoz — ha visszafordítható lenne, nem lehetne megbízni benne.
Amire valójában szükségük van azoknak, akik "SHA-256 dekódolást" keresnek
- Hash generálása egy ismert bemenetből, hogy közzétehető legyen ellenőrzőösszegként vagy később összehasonlítható — erre pontosan ez az eszköz való.
- Annak ellenőrzése, hogy egy jelölt érték egy ismert SHA-256 kimenetre hashel-e, például egy jelszó-tipp vagy egy fájl épségének megerősítése — hasheld a jelöltet és hasonlítsd össze a szövegeket.
- Annak kikeresése, hogy egy hash megegyezik-e egy gyakori, már ismert bemenettel (mint egy szótári szó) egy rainbow table alapú keresőszolgáltatáson keresztül — ez nem visszafejtés, csupán egy előre hashelt gyakori értékek fordított indexe, és bármilyen egyedi vagy kellően véletlenszerű bemenetnél sikertelen.
- Annak megerősítése, hogy egy letöltött fájl megegyezik a forrás által közzétett SHA-256 ellenőrzőösszeggel, sérülés vagy manipuláció felderítése céljából.
A SHA-256 a valós életben
A SHA-256 biztosítja a TLS/SSL kézfogást a böngésződ lakat ikonja mögött, ellenőrizve, hogy a tanúsítványokat nem manipulálták. Ez a hashelő algoritmus áll a Bitcoin proof-of-work bányászata és blokkláncolása mögött, és ezt használják szoftvercsomagok és konténerképek aláírására is, hogy egy letöltés ellenőrizhető legyen a kiadó ellenőrzőösszege alapján. A 256 bites kimeneti tér (2^256 lehetséges érték) csillagászatilag valószínűtlenné teszi a véletlen vagy szándékos ütközéseket a jelenlegi és belátható számítási kapacitással, ezért maradt az alapértelmezett választás azokban az esetekben, ahol az MD5 vagy a SHA-1 már nem lenne elfogadható.
Egyszerre több algoritmust szeretnél összehasonlítani?
Ha ugyanannak a szövegnek az MD5, SHA-1, SHA-256, SHA-384 és SHA-512 hash-ét szeretnéd egymás mellett látni ahelyett, hogy egyenként nézegetnéd, használd a több algoritmust összehasonlító eszközünket.
Gyakori kérdések
Vissza tudom fejteni a SHA-256 hash-t az eredeti szöveggé?
Nem — a SHA-256 tervezésénél fogva egyirányú függvény; az eredeti bemenet matematikailag nem számítható ki a hash alapján. Az online "SHA-256 visszafejtő" eszközök csak hatalmas, előre kiszámított táblázatokban keresnek gyakori bemeneteket, így egyedi vagy véletlenszerű szöveg így sosem fejthető vissza.
Ha nem tudom visszafejteni, hogyan "dekódolok" egy SHA-256 hash-t?
A legtöbben, akik erre keresnek, valójában három dolog egyikét szeretnék: hash generálása szövegből (ehhez használd ezt az eszközt), annak ellenőrzése, hogy egy szöveg egy adott ismert hash-t ad-e (hasheld és hasonlítsd össze), vagy egy fájl integritásának ellenőrzése egy közzétett ellenőrzőösszeg alapján. Mindhárom itt elérhető — egyik sem igényli a hash visszafejtését.
Biztonságos a SHA-256 jelszavak tárolására?
Önmagában a SHA-256 nem ideális — gyors, ami modern hardveren olcsóvá teszi a gyenge jelszavak brute-force feltörését. Jelszavakhoz használj lassú kulcsleszármaztatási függvényt, mint a bcrypt, scrypt vagy Argon2, ideálisan úgy, hogy a SHA-256 csak egy összetevő legyen a teljes séma helyett.
Miért ad más hash-t ugyanaz a szöveg egy másik eszközön?
Általában láthatatlan különbségek miatt: záró sortörés vagy szóköz, eltérő sorvégek (\r\n vs \n), vagy eltérő szövegkódolás. Bájtra azonos bemenet mindig azonos SHA-256 hash-t ad.
A SHA-256 is feltört, mint az MD5 vagy a SHA-1?
Nem. Az MD5 (128 bit) és a SHA-1 (160 bit) esetében is léteznek gyakorlati ütközéses támadások, és biztonsági célra feltörtnek számítanak. A SHA-256 (256 bit) esetében nincs ismert gyakorlati támadás, és jelenleg is az aktuális szabvány a TLS, a blokklánc és a digitális aláírások területén.
A szövegem elküldésre kerül egy szerverre hasheléshez?
Nem. A SHA-256 számítása teljes egészében a böngésződbe épített Web Crypto API-val történik — minden az eszközödön marad, és sosem kerül elküldésre.