Miklix

CRC-32B Hash Kodu Kalkulyatoru

Nəşr olundu: 17 fevral 2025 at 18:34:40 UTC

Mətn daxilinə və ya fayl yükləməsinə əsaslanan hash kodunu hesablamaq üçün CRC-32B (Cyclic Redundancy Check 32 bit, B variant) hash funksiyasından istifadə edən hash kodu kalkulyatoru.

Bu səhifə mümkün qədər çox insan üçün əlçatan olması üçün ingilis dilindən maşın tərcümə edilib. Təəssüf ki, maşın tərcüməsi hələ mükəmməl texnologiya deyil, ona görə də səhvlər baş verə bilər. İstəyirsinizsə, orijinal ingilis versiyasına buradan baxa bilərsiniz:

CRC-32B Hash Code Calculator

Cyclic Redundancy Check (CRC) adətən xam məlumatlarda təsadüfi dəyişiklikləri aşkar etmək üçün istifadə edilən səhv aşkarlayan koddur. Texniki cəhətdən kriptoqrafik hash funksiyası olmasa da, CRC-32 dəyişən uzunluqlu girişdən sabit ölçülü çıxış (32 bit) çıxarmaq qabiliyyətinə görə tez-tez hash adlanır. Bu səhifədə təqdim olunan versiya CRC-32B variantıdır ki, bu, həqiqətən, PHP dilində bitləri dəyişdirən bir qəribəlikdir (orijinal CRC-32-də kiçik-endian və big-endian).

Tam açıqlama: Mən bu səhifədə istifadə olunan hash funksiyasının konkret icrasını yazmamışam. Bu PHP proqramlaşdırma dilinə daxil edilmiş standart funksiyadır. Mən yalnız rahatlıq üçün veb-interfeysi burada ictimaiyyətə açıq etmək üçün etdim.


Yeni Hash Kodunu hesablayın

Bu forma vasitəsilə təqdim edilən məlumatlar və ya yüklənmiş fayllar yalnız tələb olunan hash kodunu yaratmaq üçün lazım olan müddət ərzində serverdə saxlanılacaq. Nəticə brauzerinizə qaytarılmadan dərhal silinəcək.

Daxiletmə məlumatları:



Təqdim edilmiş mətn UTF-8 kodludur. Hash funksiyaları ikili verilənlər üzərində işlədiyi üçün nəticə mətnin başqa kodlaşdırmada olmasından fərqli olacaq. Müəyyən bir kodlaşdırmada mətnin hashini hesablamağınız lazımdırsa, bunun əvəzinə bir fayl yükləməlisiniz.



CRC-32B Hash Alqoritmi haqqında

Mən riyaziyyatçı deyiləm, amma bu hash funksiyasını sadə bir bənzətmə ilə izah etməyə çalışacağam. Bir çox kriptoqrafik hash funksiyalarından fərqli olaraq, bu, xüsusilə mürəkkəb bir alqoritm deyil, buna görə də hər şey qaydasında olacaq ;-)

Təsəvvür edin ki, siz poçtla məktub göndərirsiniz, lakin alıcıya çatmazdan əvvəl məktubun zədələnə biləcəyindən narahatsınız. Məktubun məzmununa əsasən, siz CRC-32 yoxlama məbləğini hesablayırsınız və bunu zərfin üzərinə yazın. Alıcı məktubu aldıqda, yoxlama məbləğini də hesablaya və onun yazdıqlarınıza uyğun olub-olmadığını görə bilər. Əgər belədirsə, məktub yol boyu zədələnməyib və ya dəyişdirilməyib.

CRC-32-nin bunu etmə üsulu dörd addımlı prosesdir:

Addım 1: Bəzi Əlavə Yer əlavə edin (doldurma)

  • CRC mesajın sonunda bir az əlavə otaq əlavə edir (məsələn, fıstıqları qutuda qablaşdırmaq kimi).
  • Bu, səhvləri daha asan aşkar etməyə kömək edir.

Addım 2: Sehrli Hökmdar (Polinom)

  • CRC-32 məlumatları ölçmək üçün xüsusi "sehrli hökmdar" istifadə edir.
    • Bu hökmdarı qabar və yivlər nümunəsi kimi düşünün (bu çoxhədlidir, lakin bu sözdən narahat olmayın).
    • CRC-32 üçün ən çox yayılmış "hökmdar" sabit bir modeldir.

Addım 3: Hökmdarın sürüşdürülməsi (Bölmə Prosesi)

  • İndi CRC hökmdarı mesaj boyunca sürüşdürür.
    • Hər bir nöqtədə qabarların və yivlərin düzüldüyünü yoxlayır.
    • Əgər onlar düzülməsələr, CRC qeyd edir (bu, sadə XOR-dan istifadə etməklə edilir, məsələn, açarları açmaq və ya söndürmək).
    • O, sonuna çatana qədər sürüşdürməyə və açarları çevirməyə davam edir.

Addım 4: Yekun Nəticə (Yoxlama məbləği)

  • Hökmdarı bütün mesaj boyunca sürüşdürdükdən sonra, orijinal məlumatları təmsil edən kiçik bir rəqəm (32 bit uzunluğunda) qalır.
    • Bu nömrə mesaj üçün unikal barmaq izinə bənzəyir.
    • Bu CRC-32 yoxlama məbləğidir.

Səhifədə təqdim olunan versiya CRC-32B variantıdır, bu, əsasən bit sırasını dəyişdirən PHP qəribəliyidir (little-endian vs big-endian). Yəqin ki, bu versiyadan yalnız onu istifadə edən başqa PHP proqramı ilə uyğunluğa ehtiyacınız olduqda istifadə etməlisiniz.

Digər variantlar üçün də kalkulyatorlarım var:


Bluesky-də paylaşınFacebookda paylaşLinkedIn-də paylaşınTumblr-da paylaşınX-də paylaşınLinkedIn-də paylaşınPinterest-də Pin

Mikkel Bang Christensen

Müəllif haqqında

Mikkel Bang Christensen
Mikkel miklix.com saytının yaradıcısı və sahibidir. O, peşəkar kompüter proqramçısı/proqram təminatı tərtibatçısı kimi 20 ildən artıq təcrübəyə malikdir və hazırda böyük Avropa İT korporasiyasında tam iş günü işləyir. Bloq yazmayanda o, boş vaxtını geniş çeşidli maraqlara, hobbilərə və fəaliyyətlərə sərf edir ki, bu da müəyyən dərəcədə bu veb-saytda əhatə olunan müxtəlif mövzularda əks oluna bilər.