Generátor hashů a kontrolní součty
Získejte MD5, SHA-1, SHA-256, SHA-384 a SHA-512 pro text a soubory najednou. Ověřte stažený součet proti oficiálnímu kontrolnímu součtu, abyste se ujistili, že nebyl změněn. Vše lokálně, nic neopouští váš prohlížeč.
- Algoritmy
- MD5 · SHA-1/256/384/512
- Motorem
- Web Crypto API
- Ochrana soukromí
- 100% lokálně
- Vstup
- Text / soubor
Přetáhněte soubor sem nebo klikněte pro procházení
Byty souboru jsou čteny lokálně pro výpočet kontrolních součtů – nic není odesíláno. Funguje s instalačními programy, obrazami disků a archivy.
VLASTNOSTI
Všech pět hashe na jedné stránce
Od rychlých otisků po bezpečné podpisy – každý hash, který potřebujete pro vývoj, správu operačních systémů a ověření stahování.
Pět algoritmů
MD5, SHA-1, SHA-256, SHA-384 a SHA-512 zobrazené společně s délkami výstupních bitů – žádné přepínání mezi nástroji.
Výpočet v reálném čase
Hashe textu při psaní, žádné tlačítko k stisknutí. Výsledky v pevném písma – klikněte na řádek pro kopírování.
Ověření integrity souboru
Přetáhněte instalační program, obraz disku nebo archiv a porovnejte ho s oficiálním kontrolním součtem pro potvrzení nezměněného stahování.
Lokálně, žádné odesílání
Rodina SHA používá vestavěné Web Crypto API prohlížeče. Text a soubory nikdy neopouštějí vaše zařízení – citlivý obsah je v pořádku.
Konzistentní UTF-8
Text is hashed as UTF-8 bytes, so results match md5sum, PHP md5() and Python hashlib exactly.
Kopírování jedním kliknutím
Kopírujte každý hash zvlášť, nebo všechny ve standardním formátu kontrolního součtu připraveném ke vložení do terminálu.
Co byste měli vědět o hasších
Myšlenka je jednoduchá, ale použít špatný hash pro špatný účel je skutečná bezpečnostní chyba.
Co přesně jsou MD5 a SHA-1?
MD5 (Message-Digest Algorithm 5) navrhl Ronald Rivest na MIT a byl publikován v roce 1992 jako RFC 1321, produkuje pevný 128bitový (32 hexadecimálních znaků) souhrn jako nástupce MD4. SHA-1 navrhla americká Národní agentura pro bezpečnost a byla publikována v roce 1995 jako federální standard FIPS 180-1, produkuje 160 bitů. Obě se staly nejrozšířenějšími hashovacími algoritmy v následujících dvou desetiletích — používané pro kontrolní součty souborů, ukládání hesel, digitální podpisy a ID commitů v Gitu. Všimněte si, že stále vytvářejí správné souhrny; termín "nejisté" znamená, že jejich odolnost proti kolizím je narušená, ne že je jejich výstup chybný.
Jsou hashování, šifrování a kódování ta samá věc?
Ne — řeší různé problémy. Kódování (jako Base64 nebo URL kódování) je reverzibilní formátová transformace, kterou může každý odvolat, neposkytuje žádnou bezpečnost. Šifrování je reverzibilní pomocí klíče: otevřený text se stane šifrovým textem a správný klíč ho dešifruje. Hashování je jednosměrné, nemá klíč a originál nelze získat zpět ze souhrnu — používá se pro otisky, kontroly integrity a podpisy. Dvě časté mylné představy: považovat Base64 za "šifrování" a tvrdit, že heslo bylo "šifrováno MD5" — to je hashování a navíc nebezpečný způsob ukládání hesel.
Proč nelze hash převést zpět na originál?
Hash je jednosměrná funkce: vstup libovolné délky je zkomprimován na souhrn pevné délky, přičemž se ztratí většina informací. Stejně jako nemůžete sestavit větu z jejího počtu slov, originál nelze odvodit ze souhrnu. Bezpečné algoritmy jsou speciálně navrženy tak, aby takový zpětný výpočet byl výpočetně nevhodný.
Jsou MD5 a SHA-1 stále použitelné?
Pro kontrolu, zda se soubor náhodně poškodil během přenosu — ano, každá nechtěná změna bajtu téměř vždy změní MD5. Ale nikdy pro bezpečnost: existují praktické kolizní útoky na oba algoritmy (vědci mohou vytvořit dva různé soubory se stejným MD5 pod jejich kontrolou). Pro hesla, podpisy a certifikáty použijte SHA-256 nebo vyšší.
Proč se můj hash liší od jiného nástroje pro stejný text?
Tři obvyklé příčiny: ① různé kódování znaků (tento nástroj vždy používá UTF-8; starší nástroje mohou používat GBK nebo Latin-1); ② koncový znak nového řádku — příkazový řádek echo ho přidá standardně (použijte echo -n); ③ nechtěná mezera nebo neviditelný znak při kopírování. Hashe jsou citlivé na každý jednotlivý bajt, takže jedna chybějící bajt zcela změní výsledek.
Proč nelze hesla ukládat jako prostý MD5/SHA-256?
Běžné hashe jsou rychlé. Při úniku tabulky hash mohou útočníci zkusit miliardy odhadů za sekundu a duhové tabulky (rainbow tables) okamžitě zpětně vyhledat běžná hesla. Hesla potřebují záměrně pomalé algoritmy náročné na paměť (bcrypt, scrypt, Argon2) s jedinečným soltem pro každé heslo, což zpřístupnění hrubou silou dělá příliš nákladné.
Jak ověřím integritu staženého souboru?
Najděte kontrolní součet zveřejněný na oficiálním webu (obvykle SHA-256), přetáhněte stažený součet na kartu „Kontrolní soubor“ a oficiální hodnotu vložte do pole nad výsledky. Nástroj zjistí algoritmus podle délky hodnoty a zvýrazní odpovídající řádek zeleně, pokud byty souboru přesně odpovídaly tomu, co vydal vydavatel; červená barva znamená poškození nebo nahrazení útočníkem – soubor nespouštějte.
Který z pěti algoritmů použít
Vyberte podle situace. Novější algoritmy vytvářejí delší hodnoty, lépe odolávají útokům a jejich výpočet je o něco náročnější.
| Algoritmus | Zaveden | Délka výstupu | Bezpečnost | Typické použití |
|---|---|---|---|---|
| MD5 | 1992 | 128 bitů (32 znaků) | Nefunkční; kolize jsou praktické | Nezabezpečené otisky, deduplikace, starší kompatibilita |
| SHA-1 | 1995 | 160 bitů (40 znaků) | Kolize jsou praktické od roku 2017 | ID historie systému Git a dalších starších systémů; pro nové zabezpečené použití nevhodné |
| SHA-256 | 2001 | 256 bitů (64 znaků) | V současnosti bezpečný | Kontrolní soubory, podpisy, TLS certifikáty, blockchainy – univerzální výchozí volba |
| SHA-384 | 2001 | 384 bitů (96 znaků) | Bezpečný | Zkrácený SHA-512 pro regulační požadavky vyžadující 384 bitů |
| SHA-512 | 2001 | 512 bitů (128 znaků) | Bezpečný | Vysoce zabezpečené podpisy; na 64bitových CPU často rychlejší než SHA-256 |
"Bezpečný" znamená, že k dnešnímu dni neexistuje praktický útok na kolizi veřejných hodnot. Pro ukládání hesel používejte bcrypt/Argon2 bez ohledu na zvolený hash.
Kontrolní součty: jak správně ověřit stažený soubor
K čemu slouží řetězec MD5 nebo SHA-256 na stránce ke stažení, jak ho porovnat a s čím ho porovnat – to vše v jedné sekci.
Proč vůbec ověřovat
Soubor na vašem disku nemusí být stejný jako soubor na serveru. Deset sekund strávených porovnáním kontrolního součtu vás ochrání před třemi druhy problémů:
Velké soubory stahované s možností obnovení a přes nespolehlivé sítě často obsahují nechtěné byty; odstraňování problémů s nefunkčním instalačním programem trvá mnohem déle než deset sekund.
Mnoho stahování pochází ze zrcadlových serverů nebo CDN, kde prodleva synchronizace nebo chyby mezipaměti mohou dodat zastaralou verzi – nebo jen její část.
Při narušení zdroje stahování nebo při napadení veřejné sítě mohou být soubory opatřeny zadními vrátky. V roce 2016 byl web Linux Mint napaden a odkazy ke stažení nahrazeny ISO souborem se zadními vrátky – první reakce projektu byla naléhat na všechny uživatele, aby si zkontrolovali kontrolní součet.
Co je kontrolní součet
Vydavatel vypočítá kontrolní součet souboru na svém serveru a výsledek zveřejní na stránce ke stažení; po stažení soubor znovu zkontrolujete lokálně. Pokud se obě hodnoty shodují byte po bytu, soubor je přesně takový, jaký ho vydavatel uvolnil — není poškozený ani pozměněný. Kontrola je citlivá na každý byt: změna jediného bytu kompletně změní hodnotu. Obecně řečeno, kontrolní součty zahrnují i jednodušší schémata jako CRC32, která odhalují jen náhodné poškození, zatímco kryptografické haše jako MD5/SHA chrání navíc před záměrným paděláním.
Ověřte soubor ve třech krocích
-
1
Získejte oficiální kontrolní součet
Na stránce ke stažení najděte zveřejněnou hodnotu MD5 / SHA-256 (označenou často jako „kontrolní součet“ nebo dodanou jako pomocný soubor .sha256) a zkopírujte celý řetězec.
-
2
Přetáhněte soubor a vložte hodnotu
Přepněte se na záložku „Kontrolní součet souboru“ výše, přetáhněte stažený soubor a vložte kontrolní součet do pole nad výsledky.
-
3
Přečtěte výsledek podle barvy
Nástroj rozpozná algoritmus podle délky hodnoty: zelená znamená, že se soubor přesně shoduje s oficiálním vydáním a je bezpečný k použití; červená znamená, že může být poškozený nebo pozměněný — nespouštějte ho.
Čtení kontrolních součtů na oficiálních stránkách
Stránky ke stažení uvádějí kontrolní součty v mnoha formátech, ale všechny se scvrkávají na dvě prvky: hodnotu haše a název souboru. Nejběžnější jsou tyto tři formy — při vkládání zkopírujte jen část s hašem (tento nástroj automaticky ignoruje mezery a konece řádků):
# 1. Jeden řádek: pouze hodnota
a0570aa01532917be820a37994710cf09b6eba198bf9543c27be938c5f09e60a
# 2. Formát sha256sum: hodnota + dvě mezery + název souboru (manifest SHA256SUMS obsahuje mnoho takových řádků)
a0570aa01532917be820a37994710cf09b6eba198bf9543c27be938c5f09e60a ubuntu-24.04.iso
# 3. Formát BSD: Algoritmus (název souboru) = hodnota
SHA256 (ubuntu-24.04.iso) = a0570aa01532917be820a37994710cf09b6eba198bf9543c27be938c5f09e60a
MD5 nebo SHA-256
Ověřte to, co poskytuje oficiální stránka, ale pokud máte na výběr: MD5 je zcela dostačující proti náhodnému poškození při přenosu (jakákoli náhodná změna téměř vždy změní hodnotu MD5). Proti záměrnému pozměnění — bezpečnostní software, certifikáty, podepsané balíčky — potřebujete SHA-256 nebo silnější algoritmus, protože praktické kolizní útoky umožňují útočníkům vytvořit dva různé soubory se stejnou hodnotou MD5. Tento proces je popsán níže v části „Historie bezpečnosti“.
Alternativa: Ověření z příkazového řádku
V Linuxu a macOS nástroje pro kontrolní součty přijímají parametr -c pro automatické ověření celého manifestu — není nutné žádné ruční porovnání. Vestavěné příkazy Windows jen vypočítají hodnotu, kterou pak musíte sami porovnat s oficiálním řetězcem.
| Prostředí | Příkaz pro ověření |
|---|---|
| Linux | sha256sum -c SHA256SUMS (ověří každý soubor uvedený v manifestu) |
| macOS | shasum -a 256 -c checksum.txt |
| Rychlá kontrola jedné hodnoty | echo "oficiální-hodnota název-souboru" | sha256sum -c - (v případě úspěchu vypíše OK) |
| Windows | Vypočtěte pomocí Get-FileHash <soubor> -Algorithm SHA256, poté porovnejte s oficiální hodnotou |
Krátká historie bezpečnosti: jak byl MD5 prolomen
MD5 neselhal přes noc — od prvního prolomení v akademickém prostředí po padělané certifikáty v reálném světě to trvalo dvě desetiletí.
-
1992
MD5 je publikován
Ronald Rivest představil MD5 v dokumentu RFC 1321. Byl rychlý, jednoduchý na implementaci a vždy produkoval 128bitový digest – rychle se stal de facto standardem pro kontrolní součty souborů a ukládání hesel a byl považován za kryptograficky bezpečný.
-
2004
Tým Wang Xiaoyun odhaluje kolize MD5
Na konferenci CRYPTO 2004 tým vedený čínskou matematikou Wang Xiaoyun demonstroval útok na plnou kolizi MD5 – sestavil dva soubory s odlišným obsahem, ale stejným hashem (původně za zhruba jednu hodinu na superpočítači IBM P690; pozdější vylepšení zkrátilo čas na sekundy na běžném hardwaru). Slibovaná odolnost MD5 proti kolizím byla pryč; následující stojící ovace se stal jedním z nejznámějších momentů v kryptografii.
-
2008
Padělané certifikáty zasáhly skutečný internet
Marc Stevens, Alexander Sotirov a další využili kolizi s volbou předpony k padělání certifikátu střední CA, kterému prohlížeče důvěřovaly: certifikáty s odlišnými předponami měly stejný podpis. Útočník tak mohl vydat "platné" HTTPS certifikáty pro jakýkoli falešný web. Certifikační autority krátce poté přestaly vydávat certifikáty MD5.
-
2012
Malware Flame útočí na Windows přes MD5
Státem podporovaný malware Flame využil kolizi MD5 k tomu, aby autorita pro licencování terminálových serverů Microsoftu podepsala padělý certifikát pro podepisování kódu, což mu umožnilo rozšířit se po Středním východě jako aktualizace podepsaná společností Microsoft. Byl to první útok v reálném světě využívající kolizi MD5; Microsoft zneplatnil certifikát v nouzové opravě.
-
2017
SHAttered: SHA-1 padá
Google a nizozemský institut CWI (Marc Stevens a kol.) zveřejnily dva odlišné soubory PDF s identickým hashem SHA-1 – za cenu zhruba 6 500 CPU let a 110 GPU let. Prohlížeče po krátké době odebraly důvěru v certifikáty SHA-1 a platformy Git urychlily jejich přechod od tohoto algoritmu. Éra 160 bitů skončila.
Důležitý nuance: útok na kolizi "neprolomuje" hash žádného existujícího souboru – konstruuje dva specifické soubory, které se hashnou na stejnou hodnotu. Pro podpisy a certifikáty to však stačí k fatálnímu padělání.
Hashing z příkazového řádku
Když prohlížeč není po ruce, každý OS má vestavěný příkaz (zobrazen SHA-256).
| Prostředí | Příkaz |
|---|---|
| Linux / macOS | sha256sum název_souboru (na macOS: shasum -a 256 název_souboru) |
| Windows PowerShell | Get-FileHash název_souboru -Algorithm SHA256 |
| Windows CMD | certutil -hashfile název_souboru SHA256 |
Hashing v kódu
Minimální příklady ve čtyřech běžných jazycích při psaní skriptů nebo integraci API.
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));
Nativní Web Crypto prohlížeče podporuje pouze rodinu SHA a vyžaduje HTTPS nebo localhost; MD5 potřebuje knihovnu třetí strany.
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');
Funkce hash() a hash_file() podporují md5, sha1, sha256, sha512 a další; hashing souborů je streamovaný, takže spotřebovává málo paměti.
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())
Standardní knihovna hashlib nevyžaduje instalaci; pro streamované hashingy velkých souborů použijte file_digest() (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());
Hashing není součástí standardní knihovny; do Cargo.tomlu přidejte crate RustCrypto sha2 a md-5. S povoleným prvkem std funkce io::copy streamuje soubory do hashe.
Často kladené otázky
Jsou mé texty a soubory nahrané?
Ne. Vše se vypočítává ve vašem prohlížeči: volání rodiny SHA používá integrované Web Crypto API a MD5 běží v JavaScriptu stránky. Nástroj funguje i bez připojení k síti – vyzkoušejte ho s citlivým souborem.
Proč prázdný text má stále hash?
Hashovací algoritmy definují jedinečný pevný výstup i pro nula bajtů. MD5 prázdného řetězce je d41d8cd98f00b204e9800998ecf8427e a jeho SHA-256 začíná na e3b0c442. Tento nástroj jednoduše skrývá výsledky, když je vstup prázdný, abyste je omylem nezkopírovali.
Může hashovat soubory libovolné velikosti?
Záleží na dostupné paměti prohlížeče – instalační soubory a obraz disku o několika stovkách MB jsou obvykle v pořádku. Soubory jsou načteny do paměti najednou, takže pro soubory o velikosti několik GB doporučujte nástroje příkazového řádku (sha256sum, certutil).
Proč mají hashy různé délky?
Délka je určena algoritmem: MD5 má 32 hexadecimálních znaků, SHA-1 má 40, SHA-256 má 64 a SHA-512 má 128. Dva hexadecimální znaky na bajt – a délka je nezávislá na velikosti vstupu: soubor o jednom bajtu a soubor o velikosti několik GB poskytnou pomocí SHA-256 oba 64 znaků.
Mohu ho použít k vytváření API podpisů?
Ano. Mnoho otevřených platforem podepisuje požadavky pomocí hashování "parametry + tajný klíč" s MD5 nebo SHA-256. Tento nástroj je skvělý pro kontrolu hodnoty podpisů při ladění; v produkci počítejte hashy v knihovně jazyka na straně serveru a nikdy neukládejte tajný klíč do front-end kódu.
Jak pomocí tohoto nástroje porovnám kontrolní součet?
Přepněte na kartu "Kontrolní součet souboru", přetáhněte soubor a vložte kontrolní součet z oficiálního webu do pole nad výsledky. Nástroj automaticky rozpozná algoritmus podle délky (32 znaků MD5, 40 SHA-1, 64 SHA-256, 96 SHA-384, 128 SHA-512): odpovídající řádek se změní na zelený s poznámkou "Úspěch", když se shodují, a na červený, když ne. Malá a velká písmena, okolní mezery a zalomení řádků jsou automaticky ignorovány.
Související nástroje
Další nástroje pro kódování, kryptografii a hesla.
Base64 Encode / Decode
Převod mezi binárními soubory a textem – praktické pro Data URI a ladění HTTP basic auth.
Generátor hesel
Generování silných náhodných hesel – hesla by měla být náhodná a jedinečná, ne "šifrovaná" pomocí hashe.
Kontrola síly hesla
Kontrola, zda je heslo dostatečně dlouhé a náhodné, a zda se objevilo v známých únikových databázích.