Hash Generátor és Ellenőrzőösszeg
Szerezze meg az MD5, SHA-1, SHA-256, SHA-384 és SHA-512 értékeket egyszerre szövegekhez és fájlokhoz. Ellenőrizzen egy letöltött fájlt a hivatalos ellenőrzőösszegével, hogy megbizonyosodjon róla, nem manipulálták. Minden helyben fut, a böngészőjéből semmi sem lép ki.
- Algoritmusok
- MD5 · SHA-1/256/384/512
- Motor
- Web Crypto API
- Adatvédelem
- 100% helyi
- Bevitel
- Szöveg / fájl
Húzzon ide egy fájlt, vagy kattintson a böngészéshez
A fájl bájtjait helyben olvassuk az ellenőrzőösszeg számításához – semmi sem kerül feltöltésre. Működik telepítők, lemezképek és archívumok esetén is.
JELLEMZŐK
Mind az öt hash egy oldalon
Gyors ujjlenyomatoktól a biztonságos aláírásokig – minden hash, amire a fejlesztők, üzemeltetők és a letöltés ellenőrzéséhez szükség van.
Öt algoritmus
MD5, SHA-1, SHA-256, SHA-384 és SHA-512 együtt jelennek meg a kimeneti bithosszakkal – többé nem kell eszközök között váltani.
Valós idejű számítás
Szöveghashek a gépelés közben, nincs szükség gombra kattintani. Eredmények kezdőbetűs írással – kattintson egy sorra a másoláshoz.
Fájl integritás ellenőrzés
Húzzon be egy telepítőt, lemezképet vagy archívumot, és hasonlítsa össze a hivatalos ellenőrzőösszeggel a manipulálatlan letöltés megerősítéséhez.
Helyi, nulla feltöltés
A SHA család a böngésző beépített Web Crypto API-ját használja. A szövegek és fájlok soha nem hagyják el a számítógépét – a érzékeny tartalmak biztonságban vannak.
UTF-8 konzisztens
A szöveg UTF-8 bájtként van kivonatolva, így az eredmény pontosan megegyezik az md5sum, a PHP md5() és a Python hashlib által kapott értékkel.
Egy kattintásos másolás
Minden egyes kivonat egyenként másolása, vagy mindegyik szabványos ellenőrző összeg formátumban, amely készen áll a terminálba illesztésre.
Amit a kivonatokról tudnia kell
Az ötlet egyszerű, de a rossz kivonat rossz célra való használata valódi biztonsági hiba.
Pontosan mik azok az MD5 és SHA-1?
Az MD5 (Message-Digest Algorithm 5) tervezője Ronald Rivest volt az MIT-n, és 1992-ben jelent meg RFC 1321 néven, rögzített 128 bites (32 hex karakteres) kivonatot készítve az MD4 utódjaként. A SHA-1-t az Egyesült Államok Nemzeti Biztonsági Ügynöksége tervezte, és 1995-ben jelent meg FIPS 180-1 szövetségi szabványként, amely 160 bitet állít elő. Mindkettő a legszélesebb körben telepített kivonatalgoritmussá vált a következő két évtizedben – fájlok ellenőrző összegei, jelszótárolás, digitális aláírások és Git commit azonosítókhoz használták. Vegye figyelembe, hogy ezek még mindig helyes kivonatokat készítenek ma is; az „nem biztonságos” azt jelenti, hogy az összeütközés-ellenállásuk sérült, nem pedig az, hogy a kimenet hibás.
A kivonatolás, a titkosítás és a kódolás ugyanaz a dolog?
Nem – különböző problémákat oldanak meg. A kódolás (mint például a Base64 vagy az URL kódolás) egy visszafordítható formátumtranszformáció, amelyet bárki meg tud szüntetni, nem biztosít biztonságot. A titkosítás kulccsal visszafordítható: a nyílt szöveg rejtjelezett szöveggé válik, és a megfelelő kulccsal visszafejthető. A kivonatolás egyirányú, nincs kulcsa, és az eredeti nem nyerhető vissza a kivonatból – ujjlenyomatok, integritásellenőrzések és aláírásokhoz használják. Két gyakori félreértés: a Base64 „titkosításként” való kezelése, és annak állítása, hogy egy jelszót „MD5-tel titkosítottak” – ez kivonatolás, és emellett egy nem biztonságos módszer a jelszavak tárolására.
Miért nem fordítható vissza a kivonat az eredetire?
A kivonat egy egyirányú függvény: bármilyen hosszúságú bemenetet rögzített hosszúságú kivonattá tömörít, kiküszöbölve az információ nagy részét. Ahogyan nem lehet reconstructálni egy mondatot a szavak számából, az eredeti nem származtatható a kivonatból. A biztonságos algoritmusokat kifejezetten úgy tervezték, hogy ilyen visszafordítás számítási szempontból nehézkes legyen.
Az MD5 és a SHA-1 még mindig használható?
Arra, hogy ellenőrizzék, egy fájl véletlenül megsérült-e a szállítás során – igen, minden egyes véletlen bájtváltozás gyakorlatilag mindig megváltoztatja az MD5-t. De soha nem biztonsági célokra: mindkettőre léteznek gyakorlati összeütközési támadások (a kutatók képesek két különböző fájlt létrehozni ugyanazzal az MD5-tel az ő ellenőrzésük alatt). Használjon SHA-256 vagy magasabbat jelszavakhoz, aláírásokhoz és tanúsítványokhoz.
Miért különbözik az én kivonatom egy másik eszközéétől ugyanahhoz a szöveghez?
Három szokásos ok: ① különböző karakterkódolás (ez az eszköz mindig UTF-8-at használ; a régebbi eszközök használhattak GBK-t vagy Latin-1-et); ② záró sortörés – a parancssori echo alapértelmezésben hozzáad egyet (használja az echo -n parancsot); ③ véletlen szóköz vagy láthatatlan karakter másoláskor. A kivonatok minden egyes bájtra érzékenyek, tehát egy bájt hibás teljesen megváltoztatja az eredményt.
Miért nem tárolhatók a jelszavak sima MD5/SHA-256-ként?
A szokásos kivonatok gyorsak. Egy kiszivárgott kivonattáblával a támadók másmilliárd tippet tudnak kipróbálni másodpercenként, és a szivárványsorok (rainbow tables) azonnal visszakeresik a gyakori jelszavakat. A jelszavaknak szándékosan lassú, memóriakötött algoritmusokra van szükségük (bcrypt, scrypt, Argon2), minden jelszóhoz egyedi sóval, ami a brútafórzást tiltóan drágává teszi.
Hogyan ellenőrizhetem a letöltött fájl integritását?
Keresse meg a hivatalos oldalon közzétett ellenőrzőösszeget (általában SHA-256), húzza be a letöltött fájlt ide a „Fájl ellenőrzőösszege” fülre, majd illessze be a hivatalos értéket az eredmények feletti mezőbe. Az eszköz az érték hosszából észleli az algoritmust, és zöldre színezi a megfelelő sort, ha a fájl bájtjai pontosan megegyeznek a kiadó által közzétettekkel; piros azt jelenti, hogy a fájl sérült vagy emberközti támadás következtében cserélődött ki – ne futtassa a fájlt.
Melyik öt algoritmust használja
Válasszon a forgatókönyv alapján. Az újabb algoritmusok hosszabb kivonatokat eredményeznek, jobban ellenállnak a támadásoknak, és kiszámításuk kissé több erőforrást igényel.
| Algoritmus | Bevezetve | Kimeneti hossz | Biztonság | Tipikus használat |
|---|---|---|---|---|
| MD5 | 1992 | 128 bit (32 karakter) | Megsértve; ütközések gyakorlatiak | Nem biztonsági ujjlenyomatok, duplikációmentesítés, régi rendszerekkel való kompatibilitás |
| SHA-1 | 1995 | 160 bit (40 karakter) | Ütközések gyakorlatiak 2017 óta | Git előzményazonosítók és más régi rendszerek; új biztonsági célokra nem ajánlott |
| SHA-256 | 2001 | 256 bit (64 karakter) | Biztonságos napjainkban | Fájlok ellenőrzőösszegei, aláírások, TLS-tanúsítványok, blokkláncok – az univerzális alapértelmezett |
| SHA-384 | 2001 | 384 bit (96 karakter) | Biztonságos | SHA-512 csonkolt változata olyan megfelelőségi rendszerekhez, amelyek 384 bitet igényelnek |
| SHA-512 | 2001 | 512 bit (128 karakter) | Biztonságos | Magas biztonságú aláírások; 64 bites processzorokon gyakran gyorsabb, mint a SHA-256 |
A „biztonságos” azt jelenti, hogy a mai napig nincs gyakorlati nyilvános ütközési támadás. Jelszó tárolásához bármely kiválasztott hash mellett használja a bcrypt/Argon2-t.
Ellenőrzőösszegek: egy letöltött fájl tényleges ellenőrzésének módja
Mire való az az MD5 vagy SHA-256 karakterlánc a letöltési oldalon, hogyan hasonlítsa össze, és mivel hasonlítsa össze – mindent egy helyen.
Miért ellenőrizni egyáltalán
A lemezen lévő fájl nem feltétlenül ugyanaz, mint a szerveren lévő. Egy tízmásodperces ellenőrzőösszeg-összehasonlítás háromféle probléma ellen véd:
Nagy fájlok, folytatható letöltések és instabil hálózatok esetén meglepően gyakran keletkeznek véletlen bájtok; egy sérült telepítő hibaelhárítása sokkal tovább tart, mint tíz másodperc.
Sok letöltés valójában tükrökről vagy CDN-ekről származik, ahol a szinkron késés vagy a gyorsítótár hibái elavult kiadást – vagy a fájl felét – eredményezhetik.
Ha egy letöltési forrást feltörnek vagy egy nyilvános hálózatot eltérítenek, a fájlokat betörőprogrammal láthatják el. 2016-ban a Linux Mint webhelyét feltörték, és letöltési linkjeit egy betörőprogrammal ellátott ISO-ra cserélték – a projekt első válasza arra ösztönözte mindenkit, hogy ellenőrizze az ellenőrzőösszeget.
Mi az az ellenőrzőösszeg
A kiadó kiszámítja a fájl ellenőrző összegét a szerverén, és közzéteszi az eredményt a letöltési oldalon. A letöltés után Ön is helyben kiszámítja ugyanezt az értéket. Ha a két karakterlánc teljesen megegyezik, a fájl bájtjai pontosan olyanok, mint amit a kiadó kiadott – nem sérült és nem módosult. Az ellenőrzés minden bájtra érzékeny: egyetlen bájt megváltoztatása is teljesen megváltoztatja az értéket. Tágabb értelemben az ellenőrző összegek közé tartoznak az egyszerűbb sémák, mint például a CRC32, amelyek csak a véletlenszerű sérülést észlelik, míg a kriptográfiai kivonatok, mint az MD5/SHA, a szándékos hamisítás ellen is védelmet nyújtanak.
Ellenőrizzen egy fájlt három lépésben
-
1
Szerezze be a hivatalos ellenőrző összeget
A letöltési oldalon keresse meg a közzétett MD5 vagy SHA-256 értéket (általában „checksum”-ként jelölik, vagy egy .sha256 mellékfájlként érkezik), és másolja ki a teljes karakterláncot.
-
2
Húzza be a fájlt és illessze be
Váltson a fent lévő „Fájl ellenőrző összeg” fülre, húzza be a letöltött fájlt, majd illessze be az ellenőrző összeget az eredmények feletti mezőbe.
-
3
Olvassa le az eredményt a szín alapján
Az eszköz észleli az algoritmust az érték hosszából: a zöld szín azt jelenti, hogy a fájl pontosan megegyezik a hivatalos kiadással, és biztonságosan használható; a piros szín arra utal, hogy a fájl sérült vagy módosult – ne futtassa.
Az ellenőrző összegek olvasása a hivatalos oldalakon
A letöltési oldalak különféle formátumban írják az ellenőrző összegeket, de mindegyik két elemből áll: a kivonat értékéből és a fájl nevéből. A három leggyakoribb forma, amikor beillesztésnél csak a kivonat részt vegye – ez az eszköz automatikusan figyelmen kívül hagyja a szóközöket és a sortöréseket:
# 1. Egysoros: csak az érték
a0570aa01532917be820a37994710cf09b6eba198bf9543c27be938c5f09e60a
# 2. sha256sum formátum: érték + két szóköz + fájlnév (a SHA256SUMS jegyzékfájl sok ilyen sort tartalmaz)
a0570aa01532917be820a37994710cf09b6eba198bf9543c27be938c5f09e60a ubuntu-24.04.iso
# 3. BSD formátum: Algoritmus (fájlnév) = érték
SHA256 (ubuntu-24.04.iso) = a0570aa01532917be820a37994710cf09b6eba198bf9543c27be938c5f09e60a
MD5 vagy SHA-256
Mindig a hivatalos oldalon megadott értéket ellenőrizze, de ha választhat: az MD5 teljesen megfelelő a szállítás során bekövetkező véletlenszerű sérülések ellen (minden véletlen változtatás gyakorlatilag mindig megváltoztatja az MD5 értéket). A szándékos manipuláció ellen – biztonsági szoftverek, tanúsítványok, aláírt csomagok esetén – SHA-256 vagy annál erősebbre van szüksége, mivel a gyakorlati ütközési támadások lehetővé teszik a támadók számára, hogy két különböző fájlt azonos MD5 kivonattal hozzanak létre. Ez a történet alább a „biztonsági történelem” részben olvasható.
Ellenőrzés a parancssor helyett
Linuxon és macOS-en az ellenőrző összeg eszközök az -c kapcsolóval lehetővé teszik egy teljes jegyzékfájl automatikus ellenőrzését – nincs szükség manuális összehasonlításra. A Windows beépített parancsai csak az értéket számítják ki, amelyet Ön hasonlít össze a hivatalos karakterlánccal.
| Környezet | Ellenőrző parancs |
|---|---|
| Linux | sha256sum -c SHA256SUMS (a jegyzékfájlban felsorolt összes fájlt ellenőrzi) |
| macOS | shasum -a 256 -c checksum.txt |
| Gyors egyszerű ellenőrzés | echo „hivatalos-érték fájlnév” | sha256sum -c - (siker esetén OK üzenetet ír ki) |
| Windows | Számítsa ki a Get-FileHash <fájl> -Algorithm SHA256 paranccsal, majd hasonlítsa össze a hivatalos értékkel |
Rövid biztonsági történelem: hogyan törték meg az MD5-t
Az MD5 nem egyik napról a másikra bukott meg – az akadémián lévő első áttöréstől a való világban előforduló hamis tanúsítványokig húsz év telt el.
-
1992
Az MD5 közzététele
Ronald Rivest kiadta az MD5-öt az RFC 1321-ben. Gyors, egyszerű megvalósítani, és mindig 128-bites kivonatot adott. Hamarosan a fájl-összegzések és jelszótárolás de facto standardjává vált – és kriptográfiailag biztonságosnak tekintették.
-
2004
Wang Xiaoyun csapat felfedi a teljes MD5-ütközést
A CRYPTO 2004 rendezvényen a kínai matematikus, Wang Xiaoyun vezette csapat bemutatta az MD5 teljes ütközési támadását – két különböző tartalmú fájlt hoztak létre ugyanazzal az hasheléssel (kezdetben körülbelül egy óra alatt egy IBM P690 szuperszámítógépen; a későbbi fejlesztések másodpercekre csökkentették az időt hétköznapi hardveren). Az MD5 ígért ütközésállósága szertefoszlott; az ezt követő álló taps a kriptográfia egyik leghíresebb pillanata lett.
-
2008
Hamisított tanúsítványok jelentek meg a valódi interneten
Marc Stevens, Alexander Sotirov és mások egy kiválasztott előtagú ütközést használtak egy köztes CA-tanúsítvány hamisítására, amelyet a böngészők megbíztak: a különböző előtagú tanúsítványok ugyanazt az aláírást viselték. A támadó immár „érvényes” HTTPS-tanúsítványokat állíthatott ki bármely hamis webhelyhez. A tanúsítványhitelesítők röviddel ezután abbahagyták az MD5-tanúsítványok kibocsátását.
-
2012
Flame rosszindulatú program támadta a Windowst MD5 használatával
Az államilag támogatott Flame rosszindulatú program MD5-ütközést használt arra, hogy a Microsoft terminál-kiszolgáló licencelési hatósága aláírjon egy hamis kód-aláíró tanúsítványt, lehetővé téve, hogy a Közel-Keleten terjedjen egy Microsoft által aláírt frissítésnek álcázva. Ez volt az első valós világbeli támadás, amely MD5-ütközést használt; a Microsoft egy sürgősségi javításban visszavonta a tanúsítványt.
-
2017
SHAttered: az SHA-1 megbukott
A Google és a holland CWI intézet (Marc Stevens et al.) két különböző PDF-fájlt publikált azonos SHA-1 kivonattal – nagyjából 6500 CPU-év és 110 GPU-év költséggel. A böngészők hamarosan megvonják a bizalmat az SHA-1 tanúsítványokkal szemben, és a Git-platformok felgyorsították az onnan való áttérést. A 160-bites korszak véget ért.
Fontos árnyalat: az ütközési támadás nem „töri fel” létező fájl kivonatát – két konkrét fájlt hoz létre, amelyek ugyanazt az értéket hash-elik. De az aláírások és tanúsítványok esetében ez már elegendő a végzetes hamisításhoz.
Hashing a parancssorból
Ha a böngésző nem elérhető, minden operációs rendszer tartalmaz beépített parancsot (a SHA-256 látható).
| Környezet | Parancs |
|---|---|
| Linux / macOS | sha256sum fájlnév (macOS-on: shasum -a 256 fájlnév) |
| Windows PowerShell | Get-FileHash fájlnév -Algorithm SHA256 |
| Windows CMD | certutil -hashfile fájlnév SHA256 |
Hashing kódban
Minimális példák négy elterjedt nyelven, amikor szkripteket írsz vagy API-kat integrálsz.
async function sha256Hex(data) {
const bytes = typeof data === "string"
? new TextEncoder().encode(data)
: new Uint8Array(data);
const digest = await crypto.subtle.digest("SHA-256", bytes);
return [...new Uint8Array(digest)]
.map((b) => b.toString(16).padStart(2, "0"))
.join("");
}
// Text
console.log(await sha256Hex("hello"));
// Files: digest accepts an ArrayBuffer directly
const buf = await file.arrayBuffer();
console.log(await sha256Hex(buf));
A böngésző natív Web Crypto API-ja csak a SHA családot támogatja, és HTTPS-t vagy localhostot igényel; az MD5-hez harmadik féltől származó könyvtár szükséges.
echo hash('sha256', 'hello'); // 64 hex characters
echo md5('hello'); // same as hash('md5', 'hello')
// Streamed: hashes the file without loading it into memory
echo hash_file('sha256', 'setup.exe');
A hash() és hash_file() függvények támogatják az md5, sha1, sha256, sha512 és másokat; a fájl hashelése streamelt módban történik, ezért kevés memóriát használ.
import hashlib
print(hashlib.sha256(b"hello").hexdigest())
print(hashlib.md5(b"hello").hexdigest())
# Large files: streamed, low memory (Python 3.11+)
with open("setup.exe", "rb") as f:
print(hashlib.file_digest(f, "sha256").hexdigest())
A hashlib standard könyvtára nem igényel telepítést; használd a file_digest() függvényt nagyméretű fájlok streamelt hasheléséhez (Python 3.11+).
use sha2::{Digest, Sha256};
use md5::Md5;
// Text
println!("{:x}", Sha256::digest(b"hello"));
println!("{:x}", Md5::digest(b"hello"));
// Large files: streamed, low memory
let mut file = std::fs::File::open("setup.exe")?;
let mut hasher = Sha256::new();
std::io::copy(&mut file, &mut hasher)?;
println!("{:x}", hasher.finalize());
A hashelés nincs benne a standard könyvtárban; add hozzá a RustCrypto sha2 és md-5 cratákat a Cargo.toml fájlhoz. A std funkció engedélyezésével az io::copy fájlokat streamel a hasherbe.
GYIK
Feltöltöttem a szövegeimet és fájljaimat?
Nem. Minden számítás a böngésződben történik: a SHA-család a beépített Web Crypto API-t használja, az MD5 pedig az oldalon futó JavaScriptben. Az eszköz hálózatcsatlakozás nélkül is működik – próbáld ki egy érzékeny fájllal.
Miért van hash az üres szövegnél is?
A hash algoritmusok nulla bájt esetén is egyedi, fix kimenetet adnak. Az üres karakterlánc MD5-e d41d8cd98f00b204e9800998ecf8427e, SHA-256-ja pedig e3b0c442-vel kezdődik. Ez az eszköz csak rejti az eredményeket, ha a bemenet üres, hogy ne másold le őket véletlenül.
Bármilyen méretű fájlt képes hashelni?
A rendelkezésre álló böngésző memóriától függ – a néhány száz MB-os telepítők és lemezképek általában rendben vannak. A fájlok egy menetben kerülnek beolvasásra a memóriába, ezért a több GB-os fájlokhoz jobb a parancssori eszközöket használni (sha256sum, certutil).
Miért különböző hosszúságúak a hashek?
A hosszúságot az algoritmus határozza meg: az MD5 32 hexadecimális karakter, a SHA-1 40, a SHA-256 64, a SHA-512 pedig 128. Egy bájt két hexadecimális karakter – és a hosszúság független a bemenet méretétől: egy egybájtos fájl és egy több GB-os fájl is mindkettő 64 karaktert ad a SHA-256 használatával.
Használhatom API-aláírások készítéséhez?
Igen. Sok nyílt platform az "paraméterek + titok" hashelésével írja alá a kéréseket MD5 vagy SHA-256 használatával. Ez az eszköz kiváló az aláírási érték ellenőrzésére hibakeresés közben; éles környezetben számítsd ki a hasheket a szerveroldali nyelvi könyvtáraddal, és soha ne ágyazd be a titkot a frontend kódba.
Hogyan hasonlíthatok össze egy ellenőrzőösszeget ezzel az eszközzel?
Válts a "Fájl ellenőrzőösszeg" fülre, dobd be a fájlt, és illeszd be az ellenőrzőösszeget a hivatalos webhelyről az eredmények feletti mezőbe. Az eszköz automatikusan felismeri az algoritmust a hosszúság alapján (32 karakter MD5, 40 SHA-1, 64 SHA-256, 96 SHA-384, 128 SHA-512): az egyező sor zöldre vált, "Átment" megjegyzéssel, amikor megegyeznek, és pirosra, amikor nem. A betűk kis- és nagybetűi, a körülvevő szóközök és a sortörések automatikusan figyelmen kívül maradnak.
Kapcsolódó eszközök
További kódolási, kriptográfiai és jelszóeszközök.
Base64 kódolás / dekódolás
Konvertálás bináris és szöveges formátum között – hasznos Data URI-k és HTTP basic auth hibakereséséhez.
Jelszógenerátor
Erős véletlenszerű jelszavak generálása – a jelszavaknak véletlenszerűnek és egyedinek kell lenniük, nem pedig "titkosítottnak" egy hashel.
Jelszó erősség-ellenőrző
Ellenőrzi, hogy a jelszó elég hosszú és véletlenszerű-e, illetve szerepelt-e ismert adatvédelmi incidensekben.