Kas ir šis rīks?
SHA-256 (Secure Hash Algorithm 256-bit) pārvērš jebkuru ievadi fiksētā 64 simbolu heksadecimālā nospiedumā. Vienāda ievade vienmēr dod vienādu jaucējkodu, un pat vienas rakstzīmes izmaiņa dod pilnīgi citu rezultātu. Tas ir daļa no SHA-2 saimes, ko publicējusi NSA un standartizējusi NIST 2001. gadā.
Atšķirībā no MD5 un SHA-1, SHA-256 nav zināmu praktisku kolīziju vai priekšattēla uzbrukumu un joprojām ir pašreizējais drošības standarts. Tas ir pamatā TLS sertifikātiem, Bitcoin un citām blokķēdēm, koda parakstīšanai un paroļu jaukšanas shēmām (parasti apvienojumā ar lēnu atslēgas atvasināšanas funkciju).
SHA-256 jaucējkoda "atšifrēšana" — oriģinālās ievades aprēķināšana tikai no jaucējkoda — pēc būtības ir aprēķina ziņā neiespējama: ir 2^256 iespējamo izvadu, un funkcija apzināti atmet informāciju, lai to nevarētu palaist pretējā virzienā. Tā sauktās "SHA-256 dekodēšanas" vietnes darbojas, meklējot jaucējkodus milzīgās iepriekš aprēķinātās izplatītāko ievadu tabulās (vārdnīcas vārdi, izplatītas paroles) — tās faktiski neapgriež algoritmu, un unikālas vai nejaušas ievades vienkārši netiek atrastas.
Kāpēc to izmantot?
- Ģenerē SHA-256 jaucējkodu, lai pārbaudītu, ka fails vai virkne nav mainīta.
- Pārbaudi, vai parole vai fails atbilst zināmai SHA-256 kontrolsummai, neatklājot oriģinālo vērtību.
- Izveido determinētas, kolīzijizturīgas kešatmiņas atslēgas un integritātes kontrolsummas.
- Apstiprini lejupielādēta faila SHA-256 pret izdevēja publicēto kontrolsummu.
- 100% lokāli: tavs ievads nekad neatstāj pārlūku.
Kā to lietot
- Ieraksti vai ielīmē tekstu ievades laukā.
- Noklikšķini uz "Ģenerēt jaucējkodu".
- Nolasi 64 simbolu garo SHA-256 rezultātu (atzīmē "Lielie burti izvadā", ja sistēmai vajadzīgi lielie burti).
- Noklikšķini uz "Kopēt", lai kopētu jaucējkodu, vai salīdzini to tieši ar zināmu vērtību, lai pārbaudītu sakritību.
Piemērs
Ievade
helloIzvade
SHA-256: 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824Jaukšana ir determinēta: "hello" dod tieši šo 64 simbolu vērtību ikvienā rīkā, ikreiz.
Kāpēc "atšifrēšana" ir nepareizs vārds SHA-256
Šifrēšanu un jaukšanu bieži jauc, taču tās risina dažādas problēmas. Šifrēšana pēc būtības ir atgriezeniska — ar pareizo atslēgu šifrtekts pārvēršas atpakaļ vienkāršā tekstā. Jaukšana ir apzināti vienvirziena: SHA-256 saspiež jebkura izmēra ievadi līdz fiksētam 256 bitu nospiedumam, procesā atmetot informāciju, tāpēc nav atslēgas, kas to apgrieztu. Tieši šī īpašība padara to noderīgu integritātes pārbaudēm un digitālajiem parakstiem — ja to varētu apgriezt, tam nevarētu uzticēties.
Ko patiesībā vēlas cilvēki, kas meklē "dekodēt SHA-256"
- Ģenerēt jaucējkodu no zināmas ievades, lai publicētu kā kontrolsummu vai salīdzinātu vēlāk — tieši to nodrošina šis rīks.
- Pārbaudīt, vai kandidātvērtība dod zināmu SHA-256 izvadi, piemēram, apstiprinot paroles minējumu vai to, ka fails nav mainīts — sajauc kandidātu un salīdzini virknes.
- Uzzināt, vai jaucējkods sakrīt ar izplatītu, jau zināmu ievadi (piemēram, vārdnīcas vārdu) ar varavīksnes tabulas meklēšanas pakalpojumu — tā nav atšifrēšana, tikai iepriekš sajauktu izplatītu vērtību apgrieztais indekss, un tas neveicas ar jebkuru unikālu vai pietiekami nejaušu ievadi.
- Apstiprināt, ka lejupielādēts fails atbilst avota publicētajai SHA-256 kontrolsummai, lai atklātu bojājumu vai manipulāciju.
SHA-256 reālajā pasaulē
SHA-256 nodrošina TLS/SSL rokasspiedienu aiz slēdzenes ikonas tavā pārlūkā, pārbaudot, ka sertifikāti nav manipulēti. Tas ir jaukšanas algoritms aiz Bitcoin darba pierādījuma ieguves un bloku savienošanas, un to izmanto, lai parakstītu programmatūras pakotnes un konteineru attēlus, tā ka lejupielādi var pārbaudīt pret izdevēja kontrolsummu. Tā 256 bitu izvades telpa (2^256 iespējamo vērtību) padara nejaušas vai apzinātas kolīzijas astronomiski maz ticamas ar pašreizējo un paredzamo skaitļošanas jaudu, tāpēc tas joprojām ir noklusējuma izvēle, kad MD5 vai SHA-1 vairs netiktu uzskatīti par pieņemamiem.
Vai nepieciešams salīdzināt vairākus algoritmus vienlaikus?
Ja vēlies redzēt viena un tā paša teksta MD5, SHA-1, SHA-256, SHA-384 un SHA-512 vērtības blakus, nevis pa vienai, izmanto mūsu vairāku algoritmu salīdzināšanas rīku.
Biežāk uzdotie jautājumi
Vai varu atšifrēt SHA-256 jaucējkodu atpakaļ oriģinālajā tekstā?
Nē — SHA-256 pēc būtības ir vienvirziena funkcija; oriģinālo ievadi no jaucējkoda nevar matemātiski aprēķināt. "SHA-256 atšifrēšanas" rīki tiešsaistē tikai meklē jaucējkodus milzīgās iepriekš aprēķinātās izplatītu ievažu tabulās, tāpēc unikālu vai nejaušu tekstu šādi nekad nevar apgriezt.
Ja to nevar atšifrēt, kā tad "dekodēt" SHA-256 jaucējkodu?
Lielākā daļa cilvēku, kas meklē šo, patiesībā vēlas vienu no trim lietām: ģenerēt jaucējkodu no teksta (izmanto šo rīku), pārbaudīt, vai teksts dod konkrētu zināmu jaucējkodu (sajauc to un salīdzini), vai pārbaudīt faila integritāti pret publicētu kontrolsummu. Visas trīs iespējas ir pieejamas šeit — nevienai nav vajadzīga jaucējkoda apgriešana.
Vai SHA-256 ir drošs paroļu glabāšanai?
SHA-256 vien nav ideāls — tas ir ātrs, kas padara vāju paroļu uzlaušanu ar brutālu spēku lētu uz mūsdienu aparatūras. Parolēm izmanto lēnu atslēgas atvasināšanas funkciju, piemēram, bcrypt, scrypt vai Argon2, vēlams ar SHA-256 kā vienu sastāvdaļu, nevis visu shēmu.
Kāpēc vienāds teksts citā rīkā dod atšķirīgu jaucējkodu?
Parasti neredzamas atšķirības: papildu jaunas rindas simbols vai atstarpe beigās, atšķirīgas rindu beigas (\r\n vs \n) vai atšķirīgs teksta kodējums. Baitu ziņā identiska ievade vienmēr dod identisku SHA-256 jaucējkodu.
Vai SHA-256 ir uzlauzts tāpat kā MD5 vai SHA-1?
Nē. Gan MD5 (128 bitu), gan SHA-1 (160 bitu) ir praktiski kolīziju uzbrukumi un tiek uzskatīti par nedrošiem lietošanai. SHA-256 (256 bitu) nav zināma praktiska uzbrukuma un joprojām ir pašreizējais standarts TLS, blokķēdēm un digitālajiem parakstiem.
Vai mans teksts tiek nosūtīts uz serveri jaukšanai?
Nē. SHA-256 tiek aprēķināts pilnībā ar tava pārlūka iebūvēto Web Crypto API — viss paliek tavā ierīcē un nekad netiek pārsūtīts.