Preskoči na sadržaj
TextArray

Što je hash? MD5, SHA-256 i kada vam zapravo treba HMAC

Blog /

Funkcije raspršivanja pretvaraju svaki unos u otisak prsta fiksne duljine, ali nisu svi raspršivači jednaki. Odabir između MD5, SHA-256 i HMAC znači razliku između sigurnosne provjere koja radi i one koja tiho ne uspijeva. Ovaj vodič objašnjava što svaki od njih radi, kada ga koristiti i kako provjeriti vlastite hashove izravno u pregledniku.

Što je hash funkcija?

Funkcija raspršivanja uzima bilo koju količinu podataka - tekst, datoteku, lozinku - i proizvodi niz znakova fiksne duljine. Isti unos uvijek daje isti izlaz, što hashove čini korisnim za provjeru. Promijenite čak i jedan znak u unosu i hash se u potpunosti mijenja. Ovo jednosmjerno svojstvo (ne možete poništiti raspršivanje da biste vratili izvorne podatke) ono je što ga čini korisnim za sigurnost.

MD5: brz, ali pokvaren

MD5 proizvodi 128-bitni hash i nekoć je bio standard za kontrolne zbrojeve i provjeru datoteka. Danas je kriptografski razbijen—sudar (dva različita ulaza koja proizvode isti hash) brzo se pronalaze. MD5 se i dalje pojavljuje u naslijeđenim sustavima i za nesigurnosne kontrolne zbrojeve, ali nikad za autentifikaciju ili lozinke. Koristite Hash generator da biste vidjeli MD5 izlaz, ali posegnite za SHA-256 za sve što je važno.

SHA-256: trenutni standard

SHA-256 (dio obitelji SHA-2) proizvodi 256-bitni hash i moderan je izbor za kriptografski rad. Dovoljno je brz za većinu aplikacija, otporan na poznate napade i široko podržan. vidjet ćeš SHA-256 koristi se u blockchain sustavima, otiscima prstiju certifikata i hashiranju zaporki. The Hash generator podržava SHA-256 kao zadani algoritam.

HMAC: kada trebate tajnu

Obična hash funkcija je deterministička — svatko može provjeriti hash. An HMAC (Hash-based Message Authentication Code) miješa tajni ključ, tako da samo netko tko zna ključ može proizvesti točan hash. Ovo je bitno za API-je: poslužitelj i klijent dijele tajnu, svaki njome potpisuje svoje poruke, a primatelj provjerava podudara li se potpis. Ovo dokazuje da je poruka stigla od navedenog pošiljatelja i da nije mijenjana. The HMAC generator omogućuje vam da ovo testirate svojim vlastitim tajnim ključem.

Kada koristiti svaki pristup

  1. Koristite običnu SHA-256 za provjere integriteta datoteka, raspršivanje lozinki (sa soli i sporom funkcijom kao što je bcrypt) i javni otisak prsta.
  2. Koristiti HMAC za potpisivanje API zahtjeva, provjeru webhooka i bilo koji scenarij u kojem obje strane dijele tajnu.
  3. Preskočiti MD5 za sve što je povezano sa sigurnošću. Koristite ga samo u interakciji s naslijeđenim sustavima koji to zahtijevaju.

Vaši podaci ostaju na vašem uređaju

Oba Hash generator i HMAC generator pokrenuti u potpunosti u vašem pregledniku. Vaš se tekst nikada ne šalje poslužitelju — raspršuje se lokalno na vašem uređaju, radi izvan mreže nakon učitavanja stranice i ne zahtijeva račun ili prijavu. To znači da možete sigurno hashirati osjetljive informacije kao što su API ključevi za testiranje bez izlaganja internetu.

Bonus: izmjerite entropiju

Ako stvarate tajne ili lozinke, Shannonova entropija kalkulator pokazuje koliko je slučajnosti (a time i sigurnosti) u nizu. Veća entropija znači da je teže pogoditi. Koristite ga za provjeru jesu li vaše generirane tajne zapravo nasumične prije nego što ih postavite.