Generátor hashů
Vytvoř hash MD5, SHA-1, SHA-256 a SHA-512 z textu nebo souborů libovolné velikosti a ověř kontrolní součty. Vše běží ve tvém prohlížeči.
Jak používat generátor hashů
- V části Hash zvol Text nebo Soubory.
- U textu ho napiš nebo vlož do pole Text k zahashování. Hashe se aktualizují při psaní a tlačítko Hash je na požádání přepočítá.
- U souborů přetáhni jeden nebo více souborů do oblasti pro upuštění, nebo na ni klikni a vyber je. U velkých souborů se zobrazí ukazatel průběhu s tlačítkem Zrušit.
- Vyber potřebné Algoritmy (MD5, SHA-1, SHA-256, SHA-512) a Výstupní formát: šestnáctkově malými písmeny, šestnáctkově velkými písmeny nebo Base64.
- Chceš-li ověřit stažený soubor, vlož zveřejněný kontrolní součet do pole Porovnat s očekávaným hashem (volitelné). Nástroj ti řekne, který algoritmus odpovídá, nebo že neodpovídá žádný.
Co je hash?
Kryptografická hashovací funkce změní libovolný vstup, ať už slovo, nebo 50GB obraz disku, na krátký otisk pevné velikosti. Stejný vstup dává vždy stejný hash a změna jediného bitu vstupu změní výsledek zcela. Z hashe nelze vstup získat zpět.
| Algoritmus | Velikost výstupu | Délka v šestnáctkové soustavě | Stav |
|---|---|---|---|
| MD5 | 128 bitů | 32 znaků | Prolomený: jen pro kontrolní součty |
| SHA-1 | 160 bitů | 40 znaků | Prolomený: kolize prokázány v roce 2017 |
| SHA-256 | 256 bitů | 64 znaků | Bezpečný, současný standard |
| SHA-512 | 512 bitů | 128 znaků | Bezpečný, na 64bitových procesorech často rychlejší |
Například hash SHA-256 řetězce abc je ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad.
Ověření staženého souboru
Vydavatelé softwaru často uvádějí kontrolní součet SHA-256 vedle svých souborů. Po stažení otevři režim Soubory, přetáhni soubor a vlož zveřejněnou hodnotu do pole pro porovnání. Shoda dokazuje, že se soubor při stahování nepoškodil a je totožný s tím, který vydavatel zahashoval. Nedokazuje, že je vydavatel důvěryhodný. K tomu musí samotný kontrolní součet pocházet z důvěryhodného zdroje, například z webu s HTTPS nebo z podepsaného vydání.
Jak se zpracovávají velké soubory
Soubory se čtou lokálně a nikdy se nenahrávají. Soubory do 64 MB se hashují na jeden průchod pomocí vestavěného rozhraní Web Crypto API ve tvém prohlížeči. Větší soubory se čtou po blocích o velikosti 4 MB a předávají se přírůstkovým hashovacím funkcím, takže spotřeba paměti zůstává stálá a lze hashovat soubory o velikosti několika gigabajtů. Na běžném počítači počítej u SHA-256 s několika sty megabajty za sekundu.
Text, kódování a konce řádků
Hash se počítá z bajtů, ne ze znaků. Nástroj kóduje text jako UTF-8, což je standard na webu i ve většině programovacích jazyků. Pokud jinde dostaneš jiný výsledek, hledej skryté rozdíly: koncový nový řádek (echo "abc" | sha256sum hashuje abc\n, použij echo -n), konce řádků Windows (\r\n) nebo jiné kódování, například UTF-16.
Časté dotazy
Mohu k ukládání hesel použít MD5 nebo SHA-1?
Ne, ani čisté SHA-256. Tyto funkce jsou navrženy jako rychlé, takže útočník může zkoušet miliardy pokusů za sekundu. Hesla potřebují pomalý algoritmus se solí, například Argon2, bcrypt nebo scrypt.
Je MD5 ještě k něčemu?
Ano, k odhalení náhodného poškození, odstranění duplicitních souborů nebo k porovnání se starým seznamem kontrolních součtů. Na ochranu před úmyslnou manipulací se spoléhat nesmí, protože kdokoli může vytvořit dva různé soubory se stejným MD5.
Nahrávají se moje soubory?
Ne. Soubory čte a hashuje tvůj prohlížeč. Nic se neposílá na server, takže můžeš hashovat i důvěrné dokumenty.
Proč můj hash neodpovídá tomu z příkazového řádku?
Vstup je téměř vždy jiný: koncový nový řádek, mezery, konce řádků nebo kódování textu. U souborů se ujisti, že je stažení úplné. Jediný chybějící bajt dá zcela jiný hash.
Jaký je rozdíl mezi výstupem šestnáctkovým a Base64?
Jsou to dva způsoby zápisu týchž bajtů. Šestnáctková soustava je obvyklý formát kontrolních součtů, Base64 je kratší a používá se například v atributech Subresource Integrity (sha256-…). Pole pro porovnání přijímá obojí.
Související nástroje
- Base64 kodér a dekodér Bezplatný Base64 kodér a dekodér s plnou podporou UTF-8 a volbou base64url. Funguje ve tvém prohlížeči, nic se nenahrává na server.
- Generátor UUID Bezplatný generátor UUID verze 4 a verze 7. Vytvoř až 1 000 najednou, velkými písmeny nebo bez pomlček, a zkopíruj je nebo stáhni jako .txt.
- Tester regulárních výrazů Testuj regulární výrazy JavaScriptu naživo: zvýrazněné shody, zachytávací skupiny, nahrazování a srozumitelné vysvětlení každé části výrazu.