Калкулатор за хаш код CRC-32B
Објавено: 5 март 2025, во 19:46:51 UTC
Калкулатор за хаш код што ја користи функцијата за хаш CRC-32B (Циклична проверка на вишок 32 бита, B варијанта) за пресметување на хаш-код врз основа на внесување текст или прикачување на датотека.CRC-32B Hash Code Calculator
Циклична проверка на вишок (CRC) е код за откривање грешки што вообичаено се користи за откривање случајни промени на необработени податоци. Иако технички не е криптографска хеш функција, CRC-32 често се нарекува хаш поради неговата способност да произведува излез со фиксна големина (32 бита) од влез со променлива должина. Верзијата претставена на оваа страница е варијантата CRC-32B, што е навистина само чудење во јазикот PHP што ги превртува деловите наоколу (малку-ендијан наспроти голем-ендијан во оригиналниот CRC-32).
Целосно обелоденување: Не ја напишав конкретната имплементација на функцијата за хаш што се користи на оваа страница. Тоа е стандардна функција вклучена во програмскиот јазик PHP. Го направив веб-интерфејсот само за да го направам јавно достапен овде за погодност.
За CRC-32B Hash алгоритам
Јас не сум математичар, но ќе се обидам да ја објаснам оваа хаш функција со едноставна аналогија. За разлика од многу од криптографските хаш функции, тоа не е особено комплициран алгоритам, па веројатно ќе биде во ред ;-)
Замислете дека испраќате писмо по пошта, но сте загрижени дека може да се оштети пред да пристигне кај примачот. Врз основа на содржината на писмото, пресметувате контролна сума CRC-32 и ја пишувате на пликот. Кога примачот ќе го прими писмото, тој или таа може да ја пресмета и контролната сума и да види дали се совпаѓа со она што сте го напишале. Ако се случи, писмото не било оштетено или променето на патот.
Начинот на кој CRC-32 го прави ова е процес од четири чекори:
Чекор 1: Додадете дополнителен простор (Пополнување)
- CRC додава малку дополнителна просторија на крајот од пораката (како пакување кикиритки во кутија).
- Ова му помага полесно да ги забележува грешките.
Чекор 2: Волшебниот владетел (полином)
- CRC-32 користи специјален „магичен владетел“ за мерење на податоците.
- Помислете на овој линијар како шема од испакнатини и жлебови (ова е полиномот, но не грижете се за тој збор).
- Најчестиот „владетел“ за CRC-32 е фиксна шема.
Чекор 3: Лизгање на линијарот (процес на поделба)
- Сега CRC го лизга линијарот низ пораката.
- На секое место, проверува дали испакнатините и жлебовите се наредени.
- Ако не се наредени, CRC прави белешка (ова се прави со користење на едноставен XOR, како вклучување или исклучување на прекинувачите).
- Продолжува да се лизга и да ги превртува прекинувачите додека не стигне до крајот.
Чекор 4: Конечниот резултат (контролната сума)
- Откако ќе го лизнете линијарот низ целата порака, останувате со мал број (долг 32 бита) што ги претставува оригиналните податоци.
- Овој број е како единствен отпечаток од прст за пораката.
- Ова е контролната сума CRC-32.
Верзијата претставена на страницата е варијантата CRC-32B, која е претежно PHP чуда што го менува редоследот на битови (малку-ендијан наспроти голем-ендијан). Веројатно треба да ја користите оваа верзија само ако конкретно ви треба компатибилност со друга PHP апликација што ја користи.
Имам калкулатори и за другите варијанти: