Text a kód / Návody

SHA-256 vs SHA-512: rozdíly, příklad a správná volba

SHA-256 a SHA-512 patří do rodiny SHA-2, ale vytvářejí různé otisky. Vyzkoušejte stejný vstup v obou nástrojích a zjistěte, co výsledek dokazuje.

SHA-256 a SHA-512 pro zcela stejný vstup

Do vloženého nástroje SHA-256 napište MultiVerto přesně s uvedenými velkými písmeny a bez mezer na začátku či konci. Jeho hexadecimální otisk začíná ae71dfc48b890921 a končí c68938f7185915aa. Otevřete propojený nástroj SHA-512 a zadejte stejných deset znaků. Tento výsledek začíná cacbdf4e6ceeaa77 a končí b71e458c3b7209d9. Jde o dva různé algoritmy, nikoli o dvě délky zobrazení jednoho otisku. Pokud dostanete jinou hodnotu, zkontrolujte přesné vstupní bajty. Zkopírovaný konec řádku, mezera, jiné velké písmeno nebo odlišné kódování změní hash. Web kóduje zadaný text jako UTF-8 a výpočet provádí prohlížeč. Pro opakovatelnou kontrolu zaznamenejte algoritmus, přesný vstup a případný koncový znak nového řádku. Z otisku nelze původní text dešifrovat.

Proč má výstup 64 nebo 128 hexadecimálních znaků

Norma FIPS 180-4 stanoví výstup SHA-256 na 256 bitů a SHA-512 na 512 bitů. Jeden hexadecimální znak zastupuje čtyři bity, takže běžný textový zápis obsahuje 64 znaků u SHA-256 a 128 u SHA-512. Delší otisk v této podobě zabírá dvojnásobek místa. SHA-512 však není SHA-256 s připojenými znaky; vnitřní výpočet je jiný. Zjistěte, jaký formát požaduje přijímající systém. Pokud manifest, API nebo databázové pole očekává SHA-256, hodnota SHA-512 se s ním neshodne ani tehdy, když obě strany správně zpracují totožné bajty. Odlišujte prostý otisk od formátu, který k němu přidává název algoritmu, sůl nebo podpis. Tyto další části se vykládají podle vlastní specifikace a nejsou jen delší podobou hexadecimálního hashe.

Tentýž text v UTF-8 vede ke dvěma různým otiskům SHA-2.
  1. Přesný text MultiVerto bez nového řádku
  2. Bajty UTF-8 v prohlížeči
  3. SHA-256 → 64 hexadecimálních znaků
  4. SHA-512 → 128 hexadecimálních znaků

Integritu ověřujte podle důvěryhodného otisku

Představte si, že vydavatel zveřejní důvěryhodný otisk SHA-256 pro soubor ke stažení. Vypočítejte SHA-256 ze skutečných bajtů staženého souboru a porovnejte všech 64 znaků, nikoli pouze začátek a konec uvedený v našem příkladu. Shoda silně naznačuje, že kontrolované bajty odpovídají těm, které reprezentuje reference. Stejný postup funguje pro SHA-512 jen při referenci SHA-512. MultiVerto v tomto nástroji hashuje text zadaný do pole. Pro kontrolu souboru potřebujete nástroj zpracovávající jeho přesné bajty; vložit název souboru nestačí. Očekávaný otisk získejte důvěryhodnou cestou. Pokud útočník může nahradit soubor i zveřejněný hash, srovnání bez klíče samo o sobě neprokáže, kdo soubor vydal. K této odlišné otázce slouží například digitální podpis nebo ověřený přenosový kanál.

Zvažte bezpečnost i kompatibilitu

Oba algoritmy jsou standardizované funkce rodiny SHA-2. Kolize znamená, že dva rozdílné vstupy vytvoří stejný otisk. Neshoda vašeho výsledku s referencí obvykle znamená, že se liší bajty nebo použitý algoritmus. Delší výstup SHA-512 poskytuje větší teoretickou rezervu vůči kolizím, avšak samotná délka neurčuje bezpečnost celého systému. Důležité jsou také protokol, požadovaný formát, výkon v daném prostředí a příslušná pravidla. Neměňte zavedený formát kontrolních součtů SHA-256 na SHA-512 jen proto, že 128 znaků vypadá bezpečněji. U nového postupu, kde lze použít oba algoritmy, zdokumentujte volbu a ověřte ji na skutečných datech. Přímé srovnání hodnoty SHA-256 s hodnotou SHA-512 neukáže, zda se změnil vstup; různé algoritmy nutně produkují rozdílné výsledky.

Samotný rychlý hash nestačí k ukládání hesel

Prostý otisk SHA-256 nebo SHA-512 lze spočítat velmi rychle. To se hodí pro kontrolní součty, ale zloději databáze hesel to dovoluje rychle zkoušet mnoho odhadů. OWASP doporučuje pro hesla speciální adaptivní algoritmy se solí, například Argon2id; alternativy závisí na okolnostech nasazení. Zvolit SHA-512 nebo použít rychlý hash dvakrát neznamená vytvořit vhodný ověřovač hesla. Hashování není šifrování: neexistuje dešifrovací klíč, ale předvídatelné vstupy lze hádat. MultiVerto počítá tyto textové hashe lokálně v prohlížeči a zadaný text kvůli převodu neodesílá. Přesto do ukázkového postupu nevkládejte skutečná provozní hesla; používejte schválené řešení dané aplikace. S kontrolním součtem ukládejte také název algoritmu, aby pozdější porovnání mělo jednoznačný význam.

Vyzkoušet převodník

Spočítejte SHA-256 pro MultiVerto a stejný text vyzkoušejte se SHA-512.

Vypočítejte SHA-256 hash textu UTF-8 přímo v prohlížeči. Hash je jednosměrný.

Otevřít celý převodník

Další návody

Návody ke konverzím

Prohlédnout návody