Přejít na obsah
Calcify
cz

Generátor hashů

Spočítá hash textu pěti funkcemi najednou: MD5, SHA-1, SHA-256, SHA-512 a SHA3-256. Text se čte jako UTF-8, přesně jak jsi ho napsal.

Údaje

Výsledek

Vyplňte pole – výsledek se objeví tady.

Reklama

Co je hash

Co tento generátor dělá

Zadáš text a generátor spočítá jeho hash pěti funkcemi najednou: MD5, SHA-1, SHA-256, SHA-512 a SHA3-256. Funkce zvolená v seznamu se ukáže jako velký řádek, ostatní v tabulce pod ním. Tabulka ukáže i to, kolik bajtů text zabírá.

Hash je otisk textu

Hashovací funkce promění text libovolné délky v řetězec pevné délky. Stejný text dá vždy stejný hash. Změň jedno písmeno a hash se změní úplně. Funkci nejde pustit pozpátku, od hashe k textu: dají se jen zkoušet kandidáti.

Délka jednotlivých hashů

MD5 – 32 hex znaků (128 bitů). SHA-1 – 40 (160 bitů). SHA-256 a SHA3-256 – po 64 (256 bitů). SHA-512 – 128 znaků (512 bitů). Číslice a písmena a–f jsou hex zápis bajtů, dva znaky na bajt.

Proč záleží na každé mezeře

Generátor hashuje přesně to, co je v poli. Mezera na konci, zalomení řádku nebo velké písmeno místo malého dá úplně jiný hash. Je-li na začátku nebo konci textu mezera či zalomení řádku, generátor to pod výsledkem řekne, ale neodstraní ji.

UTF-8

Text se na bajty převádí v UTF-8 – tak ho ukládá skoro každý program a web. Obyčejné latinské písmeno je 1 bajt, písmeno s diakritikou nebo azbuka 2, emoji 4. Proto „café“ zabere 5 bajtů, ne 4.

MD5 a SHA-1 – jen kontrolní součty

U obou funkcí jsou známé způsoby, jak najít dva různé texty se stejným hashem. Na kontrolu, že se soubor stáhl bez chyb, pořád fungují. Na podpis, certifikát nebo ukládání hesel ne. Na to se používá SHA-256 nebo novější.

Limity

Až 2000 znaků textu. Generátor nečte soubory a není tu klíč HMAC: text cestuje v URL požadavku a klíč v URL už není tajemství.

Otázky k hashům

Dá se hash dešifrovat?

Ne. Hash není šifra; není v něm žádný text, který by šel vytáhnout. Weby, které „dešifrují“ MD5, jen hledají hash v databázi krátkých řetězců, které už někdo zahashoval.

Proč můj hash nesedí s jiným programem?

Nejčastěji jde o neviditelný znak: zalomení řádku na konci (echo ho bez -n přidá), mezeru nebo jiné kódování textu. Generátor hashuje UTF-8 a nic nepřidává.

Kterou funkci vybrat?

Pro nový úkol SHA-256. Je to standard pro kontrolní součty, podpisy i blockchainy. SHA-512 je delší, SHA3-256 je jiná konstrukce se stejnou délkou. MD5 a SHA-1 jen kvůli shodě se starými kontrolními součty.

Můžu tu zahashovat heslo?

Spočítat ho můžeš, ale ukládat hesla jako prosté SHA-256 je špatný nápad: dá se příliš rychle prolomit hrubou silou. Pro hesla existují pomalé funkce se solí – bcrypt, scrypt, Argon2.

Hash prázdného řetězce?

Existuje, ale generátor ho neukáže: prázdné pole znamená, že jsi ještě nic nezadal. Pro představu, SHA-256 prázdného řetězce začíná na e3b0c442.