Kas yra šis įrankis?
SHA-256 (Secure Hash Algorithm 256-bit) bet kokią įvestį paverčia fiksuotu 64 simbolių šešioliktainiu atspaudu. Ta pati įvestis visada sukuria tą pačią maišą, o net vieno simbolio pakeitimas sukuria visiškai kitokį rezultatą. Tai SHA-2 šeimos dalis, paskelbta NSA ir standartizuota NIST 2001 m.
Skirtingai nei MD5 ir SHA-1, SHA-256 neturi žinomų praktinių kolizijos ar preimage atakų ir išlieka dabartiniu saugumo standartu. Jis yra TLS sertifikatų, „Bitcoin“ ir kitų blokų grandinių, kodo pasirašymo ir slaptažodžių maišos schemų pagrindas (dažniausiai kartu su lėta rakto išvedimo funkcija).
SHA-256 maišos „iššifravimas“ — originalios įvesties apskaičiavimas vien tik iš maišos — yra sąmoningai skaičiavimo prasme neįmanomas: yra 2^256 galimų išvesčių, o funkcija sąmoningai atmeta informaciją, todėl jos negalima paleisti atgal. Vadinamosios „SHA-256 dekoderio“ svetainės veikia ieškodamos maišų didžiulėse iš anksto apskaičiuotose įprastų įvesčių lentelėse (žodyno žodžiai, dažni slaptažodžiai) — jos iš tikrųjų neapverčia algoritmo, o unikalios ar atsitiktinės įvestys tiesiog nebus rastos.
Kodėl jį naudoti?
- Sugeneruokite SHA-256 maišą, kad patikrintumėte, jog failas ar eilutė nebuvo pakeisti.
- Patikrinkite, ar slaptažodis ar failas atitinka žinomą SHA-256 kontrolinę sumą, neatskleidžiant originalios reikšmės.
- Kurkite determinuotus, atsparius kolizijoms podėlio raktus ir vientisumo kontrolines sumas.
- Patvirtinkite atsisiųsto failo SHA-256 pagal leidėjo paskelbtą kontrolinę sumą.
- 100% vietinis: jūsų įvestis niekada nepalieka naršyklės.
Kaip naudoti
- Įveskite arba įklijuokite tekstą įvesties laukelyje.
- Spustelėkite „Generuoti maišą“.
- Perskaitykite 64 simbolių SHA-256 rezultatą (pažymėkite „Didžiosios raidės“, jei jūsų sistemai reikia didžiųjų raidžių).
- Spustelėkite „Kopijuoti“, kad nukopijuotumėte maišą, arba tiesiogiai palyginkite ją su žinoma reikšme, kad patikrintumėte sutapimą.
Pavyzdys
Įvestis
helloIšvestis
SHA-256: 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824Maišos skaičiavimas yra determinuotas: „hello“ sukuria būtent šią 64 simbolių reikšmę kiekviename įrankyje, kiekvieną kartą.
Kodėl žodis „iššifruoti“ netinka SHA-256
Šifravimas ir maišos skaičiavimas dažnai painiojami, bet jie sprendžia skirtingas problemas. Šifravimas iš esmės yra atvirkščiai apgręžiamas — su tinkamu raktu šifruotas tekstas paverčiamas atgal į paprastą tekstą. Maišos skaičiavimas yra sąmoningai vienakryptis: SHA-256 suspaudžia bet kokio dydžio įvestį iki fiksuoto 256 bitų atspaudo, tuo pat metu atmesdamas informaciją, tad nėra jokio rakto, kuris tai apverstų. Būtent ši savybė daro jį naudingą vientisumo patikroms ir skaitmeniniams parašams — jei jį būtų galima apversti, juo nebūtų galima pasitikėti.
Ko iš tikrųjų reikia ieškantiems „dekoduoti SHA-256“
- Sugeneruoti maišą iš žinomos įvesties, kad paskelbtų kaip kontrolinę sumą ar palygintų vėliau — tiesiogiai atlieka šis įrankis.
- Patikrinti, ar kandidatinė reikšmė sumaišoma į žinomą SHA-256 rezultatą, pvz., patvirtinant slaptažodžio spėjimą ar kad failas nebuvo pakeistas — sumaišykite kandidatą ir palyginkite eilutes.
- Patikrinti, ar maiša atitinka įprastą, jau žinomą įvestį (pvz., žodyno žodį) per „rainbow table“ paieškos paslaugą — tai ne iššifravimas, o tik atvirkštinis iš anksto sumaišytų įprastų reikšmių indeksas, ir jis nepavyksta su bet kokia unikalia ar pakankamai atsitiktine įvestimi.
- Patvirtinti, kad atsisiųstas failas atitinka jo šaltinio paskelbtą SHA-256 kontrolinę sumą, siekiant aptikti sugadinimą ar pakeitimus.
SHA-256 realiame pasaulyje
SHA-256 apsaugo TLS/SSL rankos paspaudimą už jūsų naršyklės spynos ikonos, patvirtindamas, kad sertifikatai nebuvo pakeisti. Tai maišos algoritmas, esantis „Bitcoin“ darbo įrodymo (proof-of-work) kasybos ir blokų susiejimo pagrindu, ir jis naudojamas programinės įrangos paketams bei konteinerių vaizdams pasirašyti, kad atsisiuntimą būtų galima patikrinti pagal leidėjo kontrolinę sumą. Jo 256 bitų išvesties erdvė (2^256 galimų reikšmių) padaro atsitiktinius ar tyčinius sutapimus astronomiškai mažai tikėtinus su dabartine ir numatoma kompiuterine galia, todėl jis išlieka numatytuoju pasirinkimu ten, kur MD5 ar SHA-1 jau nebūtų laikomi priimtinais.
Reikia palyginti kelis algoritmus vienu metu?
Jei norite matyti to paties teksto MD5, SHA-1, SHA-256, SHA-384 ir SHA-512 reikšmes greta viena kitos, o ne po vieną, naudokite mūsų kelių algoritmų palyginimo įrankį.
Dažniausiai užduodami klausimai
Ar galiu iššifruoti SHA-256 maišą atgal į originalų tekstą?
Ne — SHA-256 yra sąmoningai vienakryptė funkcija; originali įvestis negali būti matematiškai apskaičiuota iš maišos. Internete esantys „SHA-256 iššifravimo“ įrankiai tik ieško maišų milžiniškose iš anksto apskaičiuotose įprastų įvesčių lentelėse, tad unikalus ar atsitiktinis tekstas šitaip niekada negali būti apverstas.
Jei negaliu iššifruoti, kaip „dekoduoti“ SHA-256 maišą?
Dauguma to ieškančių žmonių iš tikrųjų nori vieno iš trijų dalykų: sugeneruoti maišą iš teksto (naudokite šį įrankį), patikrinti, ar teksto dalis sukuria konkrečią žinomą maišą (sumaišykite ir palyginkite), arba patikrinti failo vientisumą pagal paskelbtą kontrolinę sumą. Visi trys palaikomi čia — nė vienam nereikia apversti maišos.
Ar SHA-256 saugus slaptažodžiams saugoti?
Vien tik SHA-256 nėra idealus — jis greitas, o tai daro silpnų slaptažodžių brutalios jėgos ataką pigią šiuolaikinei aparatinei įrangai. Slaptažodžiams naudokite lėtą rakto išvedimo funkciją, tokią kaip bcrypt, scrypt ar Argon2, geriausia su SHA-256 kaip vienu iš komponentų, o ne visa schema.
Kodėl tas pats tekstas kitame įrankyje duoda kitokią maišą?
Dažniausiai dėl nematomų skirtumų: galinio naujos eilutės simbolio ar tarpo, skirtingų eilučių pabaigų (\r\n vs \n) arba skirtingo teksto kodavimo. Baitas baitui identiška įvestis visada sukuria identišką SHA-256 maišą.
Ar SHA-256 sulaužytas taip pat, kaip MD5 ar SHA-1?
Ne. Tiek MD5 (128 bitai), tiek SHA-1 (160 bitų) turi praktinių kolizijos atakų ir laikomi sulaužytais saugumo naudojimui. SHA-256 (256 bitai) neturi žinomos praktinės atakos ir išlieka dabartiniu TLS, blokų grandinės ir skaitmeninių parašų standartu.
Ar mano tekstas siunčiamas į serverį maišos skaičiavimui?
Ne. SHA-256 apskaičiuojamas visiškai naudojant jūsų naršyklės įmontuotą Web Crypto API — viskas lieka jūsų įrenginyje ir niekada nesiunčiama.