bitlvl
SR

Generator hešova

Ukucajte tekst ili prevucite datoteku i dobijte svih pet hešova odjednom. Dodajte ključ za HMAC. Nalepite očekivanu vrednost da proverite preuzimanje. Sve se računa na vašem uređaju.

Ili prevucite datoteku, ili

Rezultati i poruke ovog alata prikazuju se na engleskom.

Šta je heš

Kriptografski heš pretvara bilo koji ulaz u otisak fiksne veličine. Promenite jedan bit ulaza i ceo izlaz se menja; iz izlaza ne postoji praktičan put nazad do ulaza; i neizvodljivo je naći dva ulaza sa istim hešom (za algoritme koji su još bezbedni). To hešove čini korisnim za proveru preuzimanja, otkrivanje izmena, deduplikaciju podataka i, uz so i spor algoritam, čuvanje lozinki.

AlgoritamIzlazStatusUpotreba danas
MD5128 bitova (32 heks)Probijen: kolizije su trivijalneNasleđene kontrolne sume, keš ključevi. Nikada za bezbednost.
SHA-1160 bitova (40 heks)Probijen: kolizije demonstrirane (2017)Git ID-jevi objekata (u zameni). Ne za potpise.
SHA-256256 bitova (64 heks)BezbedanPodrazumevani izbor: TLS, potpisivanje koda, kontrolne sume preuzimanja, Bitcoin.
SHA-384384 bita (96 heks)BezbedanGde se želi veća margina; subresource integrity.
SHA-512512 bitova (128 heks)BezbedanBrži od SHA-256 na 64-bitnim procesorima; Linux heševi lozinki (sha512crypt).

HMAC

HMAC umešava tajni ključ u heš na određen način (RFC 2104) tako da samo neko sa ključem može da proizvede ili proveri vrednost. To je mehanizam iza HS256 JWT-ova, potpisa webhookova (GitHub, Stripe), potpisivanja AWS zahteva i TOTP kodova. Običan hash(key + message) nije bezbedan za ovo; HMAC postoji da bi otklonio slabost te konstrukcije na produženje dužine (length extension).

Provera preuzimanja

  1. Nađite objavljenu kontrolnu sumu na stranici za preuzimanje (često datoteka SHA256SUMS).
  2. Prevucite preuzetu datoteku ovde, ili pokrenite sha256sum file u shellu.
  3. Nalepite objavljenu vrednost u polje za poređenje. Poklapanje znači da je datoteka bajt za bajt ono što je objavljeno.

Poklapanje heša dokazuje integritet, a ne autentičnost: ako napadač može da promeni datoteku, može da promeni i kontrolnu sumu pored nje. Za autentičnost vam treba potpis (GPG, Sigstore, minisign).

Lozinke

Ne čuvajte lozinke kao SHA-256 hešove. Brzi hešovi mogu da se pogađaju milijardama puta u sekundi na GPU-u. Koristite sporu, soljenu, memorijski zahtevnu funkciju namenjenu tom poslu: Argon2id, scrypt ili bcrypt.

Pitanja

Koji heš da koristim?

SHA-256 osim ako nemate konkretan razlog za nešto drugo. Bezbedan je, univerzalno podržan i brz. SHA-512 je malo brži na 64-bitnom hardveru. MD5 i SHA-1 su u redu samo za nebezbednosne namene kao što su keš ključevi.

Može li heš da se dešifruje?

Ne. Heš nije šifrovanje; nema ključa i nema inverzne funkcije. Ono što napadači rade umesto toga je pogađanje ulaza i poređenje hešova, što radi za kratke ili uobičajene ulaze (otuda rainbow tabele) i zato lozinkama trebaju so i spori hešovi.

Zašto se moj MD5 razlikuje od onog na sajtu?

Obično završeci redova (CRLF naspram LF), novi red na kraju, ili drugačije kodiranje teksta. Heširajte tačne bajtove: za datoteku koristite zonu za prevlačenje umesto lepljenja njenog sadržaja.

Da li je SHA-256 izračunat ovde isti kao sha256sum?

Da, bajt za bajt. Alat koristi WebCrypto implementaciju pregledača za SHA porodicu. Za tekstualni unos bajtovi su UTF-8 kodiranje onoga što ste ukucali.

Da li se moja datoteka ili lozinka negde šalje?

Ne. Heširanje se obavlja lokalno u JavaScriptu. Sajt nema serversku komponentu koja bi mogla da je primi.