CRC32 ģenerators
Aprēķiniet jebkura teksta CRC32 kontrolsummu uzreiz. Rīks kodē ievadi UTF-8 formātā un izmanto standarta IEEE 802.3 CRC-32 polinomu, ko lieto ZIP, gzip, PNG un Ethernet. Pēc tam tas atgriež vērtību kā astoņus heksadecimālos ciparus vai neparakstītu decimālu skaitli. Izmantojiet to, lai pārbaudītu saglabātās kontrolsummas, atkļūdotu failu formātus un salīdzinātu rezultātus ar zlib, PHP crc32 vai citām bibliotēkām.
Bieži uzdotie jautājumi
Kas ir CRC32?
CRC32 ir 32 bitu cikliskā redundances pārbaude, kas nosaka nejaušas datu izmaiņas. Šis rīks izmanto IEEE 802.3 polinomu 0x04C11DB7 atspoguļotā formā — to pašu variantu, ko lieto ZIP, gzip, PNG un zlib. Rezultāts ir viens 32 bitu skaitlis.
Kādas ir standarta CRC32 kontrolvērtības?
Teksts 123456789 dod cbf43926 — publicēto CRC-32 kontrolvērtību. Tukša ievade dod 00000000, bet abc dod 352441c2. Izmantojiet tās, lai pārbaudītu, vai cita implementācija izmanto to pašu variantu.
Kāpēc daži rīki rāda citu CRC32 vērtību?
Pastāv arī citi varianti, piemēram, CRC-32C (Castagnoli), ko izmanto iSCSI un ext4, vai neatspoguļotā BZIP2 forma. Tajos izmanto citus polinomus vai bitu secību, tāpēc tiek iegūtas citas vērtības. Pārbaudiet arī, vai abās pusēs tiek jaukti vieni un tie paši baiti, tostarp rindu pārtraukumi.
Ko nozīmē decimālā izvade?
Decimālā formā kontrolsumma tiek attēlota kā bez zīmes vesels skaitlis no 0 līdz 4294967295. Tas atbilst PHP crc32 64 bitu sistēmās un Python zlib.crc32. Heksadecimālā izvade ir tas pats skaitlis, kas uzrakstīts ar astoņiem heksadecimālajiem cipariem.
Vai CRC32 ir kriptogrāfiska jaucējfunkcija?
Nē. CRC32 nosaka nejaušas datu pārraides kļūdas, taču ikviens var izveidot datus ar izvēlētu kontrolsummu. Ja nepieciešama aizsardzība pret tīšu sagrozīšanu, izmantojiet SHA-256 vai citu kriptogrāfisku jaucējfunkciju.
Cik liela ir CRC32 kolīziju iespējamība?
Tā kā ir tikai 32 biti, divām nejaušām ievadēm vienāda kontrolsumma ir aptuveni vienā gadījumā no četriem miljardiem. Ja ievadu ir aptuveni 77,000, iespēja, ka kolidēs kāds pāris, jau sasniedz 50 procentus. CRC32 ir piemērots kļūdu noteikšanai, bet ne unikāliem identifikatoriem.
Kā mans teksts tiek pārveidots pirms kontrolsummas aprēķināšanas?
Rīks izmanto ievadītā teksta UTF-8 baitus tieši tādus, kādi tie ir. Rakstzīmes, kas nav ASCII, aizņem vairākus baitus, un tiek ieskaitīti arī rindu pārtraukumi, tāpēc pārliecinieties, ka otrā pusē tiek izmantoti tie paši baiti.
Vai heksadecimālā izvade tiek papildināta ar nullēm?
Jā. Heksadecimālajā formā vienmēr ir astoņi mazie burti, vajadzības gadījumā sākumā pievienojot nulles, tāpēc 0x0000abcd tiek attēlots kā 0000abcd. Daži rīki izlaiž sākuma nulles vai izmanto lielos burtus, taču vērtība ir tā pati.
Vai varu aprēķināt faila CRC32?
Šis rīks darbojas ar ielīmētu tekstu. Failiem izmantojiet lokālu komandu, piemēram, crc32 no libarchive rīkiem, vai īsu skriptu ar zlib. ZIP centrālajā direktorijā tiek glabāts arī katra ieraksta CRC32.
Cik gara var būt ievade?
Vienā pieprasījumā var apstrādāt līdz 5 MiB teksta. CRC32 tiek aprēķināts ļoti ātri, tāpēc rezultāts tiek parādīts uzreiz, un ievade netiek saglabāta.