Miklix

CRC-32B jaucējkoda kalkulators

Publicēts: 2025. gada 17. februāris 18:26:18 UTC
Pēdējo reizi atjaunināts: 2026. gada 12. janvāris 09:15:50 UTC

Jaucējkoda kalkulators, kas izmanto CRC-32B (Cikliskā redundances pārbaude 32 biti, B variants) jaucējfunkciju, lai aprēķinātu jaucējkodu, pamatojoties uz teksta ievadi vai faila augšupielādi.

Šī lapa tika mašīntulkota no angļu valodas, lai padarītu to pieejamu pēc iespējas vairāk cilvēkiem. Diemžēl mašīntulkošana vēl nav pilnīga tehnoloģija, tāpēc tajā var rasties kļūdas. Ja vēlaties, oriģinālo versiju angļu valodā varat apskatīt šeit:

CRC-32B Hash Code Calculator

Cikliskā redundances pārbaude (CRC) ir kļūdu noteikšanas kods, ko parasti izmanto, lai atklātu nejaušas izmaiņas neapstrādātos datos. Lai gan tehniski tā nav kriptogrāfiska jaucējfunkcija, CRC-32 bieži tiek saukta par jaucējfunkciju, jo tā spēj ģenerēt fiksēta izmēra izvadi (32 biti) no mainīga garuma ievades. Šajā lapā parādītā versija ir CRC-32B variants, kas patiesībā ir tikai PHP valodas īpatnība, kas apgriež bitus vietām (little-endian pret big-endian oriģinālajā CRC-32).

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.


Aprēķināt jaunu Hash kodu

Izmantojot šo veidlapu, iesniegtie dati vai augšupielādētie faili tiks glabāti serverī tikai tik ilgi, cik nepieciešams, lai ģenerētu pieprasīto hash kodu. Tie tiks dzēsti tūlīt pirms rezultāta atgriešanas pārlūkprogrammā.

Ieejas dati:



Iesniegtais teksts ir kodēts UTF-8 formātā. Tā kā hash funkcijas darbojas ar binārajiem datiem, rezultāts būs citāds nekā tad, ja teksts būtu citā kodējumā. Ja jums ir nepieciešams aprēķināt teksta hash īpašā kodējumā, tā vietā jums ir jānosūta fails.



Par CRC-32B jaucējkodu algoritmu

Es neesmu matemātiķis, bet mēģināšu izskaidrot šo jaucējfunkciju ar vienkāršu analoģiju. Atšķirībā no daudzām kriptogrāfiskajām jaucējfunkcijām, tas nav īpaši sarežģīts algoritms, tāpēc droši vien būs labi ;-)

Iedomājieties, ka jūs sūtāt vēstuli pa pastu, bet jūs uztraucaties, ka tā varētu tikt bojāta, pirms tā nonāk pie saņēmēja. Pamatojoties uz vēstules saturu, jūs aprēķināt CRC-32 kontrolsummu un uzrakstāt to uz aploksnes. Kad saņēmējs saņem vēstuli, viņš vai viņa var aprēķināt kontrolsummu un pārliecināties, vai tā atbilst jūsu rakstītajam. Ja tā atbilst, vēstule pa ceļam netika bojāta vai mainīta.

CRC-32 to dara četros posmos:

1. darbība: pievienojiet papildu vietu (polsterējumu)

  • CRC ziņojuma beigās pievieno nedaudz papildu vietas (piemēram, iesaiņojot zemesriekstus kastē).
  • Tas palīdz vieglāk pamanīt kļūdas.

2. solis: Burvju lineāls (polinoms)

  • CRC-32 datu mērīšanai izmanto īpašu "maģisko lineālu". Iedomājieties šo lineālu kā izciļņu un rievu rakstu (tas ir polinoms, bet neuztraucieties par šo vārdu). Visizplatītākais CRC-32 "lineāls" ir fiksēts raksts.

3. solis: lineāla bīdīšana (dalīšanas process)

  • Tagad CRC pabīda lineālu pāri ziņojumam. Katrā vietā tas pārbauda, vai izciļņi un rievas sakrīt. Ja tie nesakrīt, CRC veic atzīmi (tas tiek darīts, izmantojot vienkāršu XOR, piemēram, ieslēdzot vai izslēdzot slēdžus). Tas turpina slīdēt un pārslēgt slēdžus, līdz sasniedz galu.

4. solis: Galīgais rezultāts (kontrolsumma)

  • Pēc lineāla pabīdīšanas pāri visam ziņojumam paliek neliels skaitlis (32 bitus garš), kas apzīmē sākotnējos datus. Šis skaitlis ir kā unikāls ziņojuma pirkstu nospiedums. Šī ir CRC-32 kontrolsumma.

Lapā redzamā versija ir CRC-32B variants, kas galvenokārt ir PHP īpatnība, kas maina bitu secību (little-endian pret big-endian). Šo versiju droši vien vajadzētu izmantot tikai tad, ja jums īpaši nepieciešama saderība ar citu PHP lietojumprogrammu, kas to izmanto.

Man ir kalkulatori arī citiem variantiem:

  • Saite
  • Saite

Papildu lasāmviela

Ja jums patika šī ziņa, jums varētu patikt arī šie ieteikumi:


Kopīgojiet pakalpojumā BlueskyKopīgot FacebookKopīgojiet vietnē LinkedInKopīgojiet vietnē TumblrKopīgot vietnē XKopīgojiet vietnē LinkedInPiespraust vietnē Pinterest

Mikkel Christensen

Par autoru

Mikkel Christensen
Mikels ir miklix.com radītājs un īpašnieks. Viņam ir vairāk nekā 20 gadu pieredze kā profesionālam programmētājam/programmatūras izstrādātājam, un pašlaik viņš strādā pilna laika darbu lielā Eiropas IT korporācijā. Kad viņš neraksta blogus, viņš pavada brīvo laiku, pievēršoties dažādām interesēm, hobijiem un aktivitātēm, kas zināmā mērā var atspoguļoties šajā tīmekļa vietnē aplūkoto tēmu daudzveidībā.