Utilia

Maišos generatorius (MD5, SHA-256)

Sukurk teksto ar bet kokio dydžio failų MD5, SHA-1, SHA-256 ir SHA-512 maišas ir patikrink kontrolines sumas. Viskas vyksta tavo naršyklėje.

Maiša
Tekstas koduojamas UTF-8.
Algoritmai

Kaip naudotis maišos generatoriumi

  1. Skiltyje Maiša pasirink Tekstas arba Failai.
  2. Tekstui įrašyk ar įklijuok jį į Maišomas tekstas. Maišos atsinaujina tau rašant; mygtukas Maiša perskaičiuoja jas pagal poreikį.
  3. Failams nutempk vieną ar kelis failus į sritį arba spustelėk ją, kad pasirinktum. Dideliems failams rodoma eigos juosta su mygtuku Atšaukti.
  4. Pažymėk reikiamus Algoritmai (MD5, SHA-1, SHA-256, SHA-512) ir Išvesties formatas: šešioliktainis mažosiomis raidėmis, šešioliktainis didžiosiomis raidėmis arba Base64.
  5. Norint patikrinti atsisiuntimą, įklijuok paskelbtą kontrolinę sumą į Palyginti su tikėtina maiša (nebūtina). Įrankis parodo, kuris algoritmas atitinka, arba kad neatitinka nė vienas.

Kas yra maiša?

Kriptografinė maišos funkcija bet kokią įvestį, nesvarbu, ar tai žodis, ar 50 GB disko atvaizdas, paverčia trumpu pastovaus dydžio kontroliniu antspaudu. Ta pati įvestis visada duoda tą pačią maišą, o pakeitus vos vieną įvesties bitą rezultatas pasikeičia visiškai. Maišos atkurti atgal į įvestį neįmanoma.

Algoritmas Išvesties dydis Šešioliktainio ilgis Būsena
MD5 128 bitų 32 simboliai Sulaužytas: tik kontrolinėms sumoms
SHA-1 160 bitų 40 simbolių Sulaužytas: kolizijos įrodytos 2017 m.
SHA-256 256 bitai 64 simboliai Saugus, dabartinis standartas
SHA-512 512 bitų 128 simboliai Saugus, 64 bitų procesoriuose dažnai greitesnis

Pavyzdžiui, abc SHA-256 maiša yra ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad.

Atsisiuntimo patikra

Programų leidėjai greta failų dažnai nurodo SHA-256 kontrolinę sumą. Atsisiuntus failą, atidaryk režimą Failai, nutempk failą ir įklijuok paskelbtą reikšmę į palyginimo lauką. Sutapimas įrodo, kad failas atsisiuntimo metu nebuvo sugadintas ir yra identiškas tam, kurį leidėjas sumaišė. Tai neįrodo, kad leidėju galima pasitikėti. Tam pati kontrolinė suma turi būti gauta iš patikimo šaltinio, pavyzdžiui, HTTPS svetainės ar pasirašyto leidimo.

Kaip tvarkomi dideli failai

Failai skaitomi vietoje ir niekada neįkeliami. Iki 64 MB failai maišomi vienu praėjimu naudojant naršyklės integruotą Web Crypto API. Didesni failai skaitomi 4 MB gabalais ir paduodami laipsniškoms maišos funkcijoms, todėl atminties naudojimas išlieka pastovus ir galima sumaišyti kelių gigabaitų failus. Įprastame kompiuteryje SHA-256 galima tikėtis kelių šimtų megabaitų per sekundę.

Tekstas, kodavimai ir eilučių pabaigos

Maiša skaičiuojama iš baitų, o ne simbolių. Šis įrankis tekstą koduoja UTF-8 – standartu internete ir daugelyje programavimo kalbų. Jei kitur gauni kitokį rezultatą, ieškok paslėptų skirtumų: eilutės pabaigos simbolio (echo "abc" | sha256sum maišo abc\n; naudok echo -n), Windows eilučių pabaigų (\r\n) ar kito kodavimo, pavyzdžiui, UTF-16.

Dažnai užduodami klausimai

Ar slaptažodžiams saugoti galima naudoti MD5 ar SHA-1?

Ne, ir paprasto SHA-256 taip pat ne. Šios funkcijos sukurtos greitos, todėl užpuolikas gali išbandyti milijardus spėjimų per sekundę. Slaptažodžiams reikia lėto algoritmo su druska, pavyzdžiui, Argon2, bcrypt ar scrypt.

Ar MD5 vis dar naudingas?

Taip, atsitiktiniam sugadinimui aptikti, failų dublikatams šalinti ar senam kontrolinių sumų sąrašui palyginti. Prieš tyčinį klastojimą juo pasikliauti negalima, nes bet kas gali sukurti du skirtingus failus su ta pačia MD5.

Ar mano failai įkeliami?

Ne. Failus skaito ir maišo tavo naršyklė. Į serverį nieko nesiunčiama, todėl gali maišyti konfidencialius dokumentus.

Kodėl mano maiša nesutampa su gauta iš komandinės eilutės?

Beveik visada skiriasi įvestis: eilutės pabaigos simbolis, tarpai, eilučių pabaigos ar teksto kodavimas. Failams įsitikink, kad atsisiuntimas baigtas. Net vieno trūkstamo baito pakanka, kad maiša visiškai pasikeistų.

Kuo skiriasi šešioliktainė ir Base64 išvestis?

Tai du tų pačių baitų užrašymo būdai. Šešioliktainis yra įprastas kontrolinių sumų formatas; Base64 trumpesnis ir naudojamas, pavyzdžiui, Subresource Integrity (sha256-…) atributuose. Palyginimo laukas priima abu.