Generator zgoščenih vrednosti (hash)
Ustvari zgoščene vrednosti MD5, SHA-1, SHA-256 in SHA-512 za besedilo ali datoteke poljubne velikosti in preveri kontrolne vsote. Deluje v brskalniku.
Kako uporabljati generator zgoščenih vrednosti
- Pod Zgostitev izberi Besedilo ali Datoteke.
- Besedilo vnesi ali prilepi v Besedilo za zgostitev. Zgoščene vrednosti se osvežujejo med tipkanjem; gumb Zgostitev jih po potrebi preračuna.
- Pri datotekah spusti eno ali več datotek v območje za spuščanje ali klikni nanj in jih izberi. Pri velikih datotekah se prikaže vrstica napredka z gumbom Prekliči.
- Izberi Algoritmi, ki jih potrebuješ (MD5, SHA-1, SHA-256, SHA-512), in Izhodni format: šestnajstiško z malimi črkami, šestnajstiško z velikimi črkami ali Base64.
- Če želiš preveriti prenos, prilepi objavljeno kontrolno vsoto v Primerjaj s pričakovano zgoščeno vrednostjo (neobvezno). Orodje pove, kateri algoritem se ujema, ali da se ne ujema nobeden.
Kaj je zgoščena vrednost?
Kriptografska zgoščevalna funkcija poljuben vnos, naj bo beseda ali 50 GB velika slika diska, pretvori v kratek prstni odtis stalne velikosti. Enak vnos vedno da enako zgoščeno vrednost, sprememba enega samega bita vnosa pa rezultat popolnoma spremeni. Zgoščene vrednosti ni mogoče obrniti, da bi dobil vnos nazaj.
| Algoritem | Velikost izhoda | Dolžina v šestnajstiškem zapisu | Stanje |
|---|---|---|---|
| MD5 | 128 bitov | 32 znakov | Zlomljen: samo kontrolne vsote |
| SHA-1 | 160 bitov | 40 znakov | Zlomljen: trki dokazani leta 2017 |
| SHA-256 | 256 bitov | 64 znakov | Varen, trenutni standard |
| SHA-512 | 512 bitov | 128 znakov | Varen, na 64-bitnih procesorjih pogosto hitrejši |
Na primer: zgoščena vrednost SHA-256 niza abc je ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad.
Preverjanje prenosa
Založniki programske opreme pogosto ob datotekah navedejo kontrolno vsoto SHA-256. Po prenosu odpri način Datoteke, spusti datoteko in prilepi objavljeno vrednost v polje za primerjavo. Ujemanje dokazuje, da datoteka med prenosom ni bila poškodovana in da je enaka tisti, ki jo je založnik zgostil. Ne dokazuje, da je založnik vreden zaupanja. Za to mora sama kontrolna vsota izvirati iz zaupanja vrednega vira, na primer s spletnega mesta HTTPS ali iz podpisane izdaje.
Kako se obravnavajo velike datoteke
Datoteke se preberejo lokalno in se nikoli ne naložijo na strežnik. Datoteke do 64 MB se zgostijo v enem prehodu z vgrajenim vmesnikom Web Crypto API tvojega brskalnika. Večje datoteke se berejo v kosih po 4 MB in se podajajo inkrementalnim zgoščevalnim funkcijam, zato poraba pomnilnika ostane enakomerna in je mogoče zgostiti datoteke več gigabajtov. Na običajnem računalniku pričakuj nekaj sto megabajtov na sekundo za SHA-256.
Besedilo, kodiranja in konci vrstic
Zgoščena vrednost se izračuna iz bajtov, ne iz znakov. Orodje besedilo kodira v UTF-8, kar je standard v spletu in večini programskih jezikov. Če drugje dobiš drugačen rezultat, poišči skrite razlike: končni novi red (echo "abc" | sha256sum zgosti abc\n; uporabi echo -n), konce vrstic Windows (\r\n) ali drugo kodiranje, na primer UTF-16.
Pogosta vprašanja
Ali lahko za shranjevanje gesel uporabim MD5 ali SHA-1?
Ne, pa tudi golega SHA-256 ne. Te funkcije so zasnovane tako, da so hitre, zato lahko napadalec preizkusi milijarde ugibanj na sekundo. Gesla potrebujejo počasen algoritem s soljo, kot so Argon2, bcrypt ali scrypt.
Ali je MD5 še uporaben?
Da, za zaznavanje nenamerne poškodbe, odstranjevanje podvojenih datotek ali ujemanje s starim seznamom kontrolnih vsot. Ne smeš se zanašati nanj proti namernemu ponarejanju, ker lahko vsakdo ustvari dve različni datoteki z enakim MD5.
Ali se moje datoteke naložijo na strežnik?
Ne. Datoteke prebere in zgosti tvoj brskalnik. Nič se ne pošlje na strežnik, zato lahko zgostiš zaupne dokumente.
Zakaj se moja zgoščena vrednost ne ujema s tisto iz ukazne vrstice?
Vnos je skoraj vedno drugačen: končni novi red, presledki, konci vrstic ali kodiranje besedila. Pri datotekah poskrbi, da je prenos popoln. En sam manjkajoč bajt da popolnoma drugačno zgoščeno vrednost.
Kakšna je razlika med šestnajstiškim izhodom in izhodom Base64?
To sta dva načina zapisa istih bajtov. Šestnajstiški zapis je običajen format za kontrolne vsote; Base64 je krajši in se uporablja na primer v atributih Subresource Integrity (sha256-…). Polje za primerjavo sprejme oba.
Sorodna orodja
- Base64 kodirnik in dekodirnik Brezplačno kodiranje in dekodiranje Base64 s polno podporo za UTF-8 in možnostjo base64url. Deluje v brskalniku, nič se ne naloži na strežnik.
- Generator UUID Brezplačen generator UUID različice 4 in 7. Ustvari do 1000 naenkrat, z velikimi črkami ali brez vezajev, nato kopiraj ali prenesi kot .txt.
- Preizkus regularnih izrazov Sproti preizkusi regularne izraze JavaScripta z označenimi ujemanji, zajemalnimi skupinami, zamenjavo in razlago vsakega dela vzorca v preprostem jeziku.