SHA-1 jaucējkoda kalkulators
Publicēts: 2025. gada 16. februāris 23:23:02 UTC
Jaucējkoda kalkulators, kas izmanto Secure Hash Algorithm 1 (SHA-1) jaucējfunkciju, lai aprēķinātu jaucējkodu, pamatojoties uz teksta ievadi vai faila augšupielādi.SHA-1 Hash Code Calculator
SHA-1 (Secure Hash Algorithm 1) ir kriptogrāfiska jaukšanas funkcija, ko izstrādājusi NSA un publicējusi NIST 1995. gadā. Tā rada 160 bitu (20 baitu) jaucējvērtību, ko parasti attēlo kā 40 rakstzīmju heksadecimālo virkni. SHA-1 tika plaši izmantots datu integritātes, ciparparakstu un sertifikātu nodrošināšanai, taču tagad tas tiek uzskatīts par nedrošu sadursmju uzbrukumu ievainojamības dēļ. Tas ir iekļauts šeit gadījumā, ja ir jāaprēķina jaucējkods, kuram jābūt saderīgam ar vecāku sistēmu, taču to nevajadzētu izmantot, izstrādājot jaunas sistēmas.
Pilnīga informācijas izpaušana: es neesmu rakstījis šajā lapā izmantotās hash funkcijas konkrēto implementāciju. Tā ir standarta funkcija, kas iekļauta PHP programmēšanas valodā. Es tikai izveidoju tīmekļa saskarni, lai padarītu to publiski pieejamu šeit ērtības labad.
Par SHA-1 hash algoritmu
Es neesmu matemātiķis, tāpēc mēģināšu izskaidrot šo jaucējfunkciju tā, lai citi, kas nav matemātiķi, varētu saprast — ja vēlaties skaidrojuma precīzu zinātnisko matemātisko versiju, to varat atrast daudzās citās vietnēs ;-)
Padomājiet par SHA-1 kā īpašu papīra smalcinātāju, kas uztver jebkuru ziņojumu — vai tas ir viens vārds, teikums vai vesela grāmata — un sasmalcina to ļoti specifiskā veidā. Bet tā vietā, lai tikai sasmalcinātu, tas maģiski izspļauj unikālu "sasmalcināšanas kodu", kas vienmēr ir tieši 40 heksadecimālās rakstzīmes garš.
- Piemēram, jūs ievietojāt "Sveiki"
- Jūs saņemat 40 heksadecimālos ciparus, piemēram, f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
Neatkarīgi no tā, ar ko jūs to barojat - īsu vai garu - izvade vienmēr ir vienāda garuma.
"Maģiskais smalcinātājs" darbojas četros posmos:
1. darbība: sagatavojiet papīru (polsterējums)
- Pirms sasmalcināšanas jums ir jāsagatavo papīrs. Iedomājieties, ka ziņojuma beigās pievienojat tukšas vietas, lai tas lieliski ietilptu smalcinātāja paplātē.
- Tas ir tāpat kā tad, kad tu cep cepumus, un tu pārliecinies, ka mīkla vienmērīgi piepilda veidni.
2. darbība: sagrieziet to vienādos gabalos (sadalīšana)
- Smalcinātājam nepatīk lieli gabaliņi. Tātad tas sasmalcina jūsu sagatavoto vēstījumu mazākos, vienāda izmēra gabaliņos — piemēram, sagriežot lielu kūku ideālās šķēlēs.
3. darbība: slepenā recepte (sajaukšana un sasmalcināšana)
- Tagad nāk foršā daļa! Smalcinātājā katrs jūsu ziņojuma fragments tiek izvadīts cauri vairākiem maisītājiem un rullīšiem:
- Sajaukšana: tas sajauc jūsu ziņojumu ar dažām slepenām sastāvdaļām (iebūvētiem noteikumiem un cipariem).
- Masēšana: tas īpašā veidā saspiež, apgriež un apgriež detaļas.
- Vīšana: dažas daļas ir savītas vai apgrieztas, piemēram, papīra locīšana origami formā.
Katrs solis padara ziņojumu vairāk jucekli, taču ļoti specifiskā veidā, ko iekārta vienmēr ievēro.
4. darbība: gala kods (jaucējkods)
- Pēc visas sajaukšanas un sajaukšanas tiek parādīts glīts, kodēts kods — kā unikāls jūsu ziņojuma pirkstu nospiedums.
- Pat ja tu mainies tikai viens burts jūsu sākotnējā ziņojumā, izvade būs pilnīgi atšķirīga. Tas padara to īpašu.
Iemesls, kāpēc SHA-1 vairs nevajadzētu izmantot, ir tas, ka daži ļoti gudri cilvēki izdomāja, kā piemānīt smalcinātāju, lai izveidotu vienu un to pašu kodu diviem dažādiem ziņojumiem (to sauc par sadursmi ).
SHA-1 vietā mums tagad ir spēcīgāki, gudrāki "smalcinātāji". Rakstīšanas laikā mans noklusējuma jaukšanas algoritms lielākajai daļai mērķu ir SHA-256 — un jā, man ir arī kalkulators šim nolūkam: SHA-256 jaucējkoda kalkulators