CRC-32 / ISO-HDLCPKZip · PNG · ఈథర్నెట్
అత్యంత సాధారణ CRC-32 అమలు, దీనిని CRC-32b అని కూడా పిలుస్తారు. ఇది బహుపది 0x04C11DB7 యొక్క ప్రతిబింబ రూపాన్ని ఉపయోగిస్తుంది, అవి 0xEDB88320. ఇన్పుట్ బైట్లు మరియు అవుట్పుట్ రెండూ బిట్-రిఫ్లెక్టెడ్ (LSB ఫస్ట్), ప్రారంభ విలువ మరియు చివరి XOR రెండూ 0xFFFFFFFFకి సెట్ చేయబడ్డాయి.
జిప్, gzip, PNG చిత్రాలు, ఈథర్నెట్ ఫ్రేమ్లు (IEEE 802.3), PKCS#7 మరియు అనేక లెగసీ సిస్టమ్లచే విస్తృతంగా ఉపయోగించబడుతుంది. ఇది వాస్తవ "డిఫాల్ట్ CRC-32" వేరియంట్.
| పాలినోమియల్ | 0x04C11DB7(సాధారణ) /0xEDB88320(ప్రతిబింబించబడింది) |
| ప్రారంభ విలువ | 0xFFFFFFFF |
| ఇన్పుట్ రిఫ్లెక్షన్ | అవును (RefIn = true) |
| అవుట్పుట్ రిఫ్లెక్షన్ | అవును (RefOut = true) |
| ఫైనల్ XOR | 0xFFFFFFFF |
| చెక్ విలువ | 0xCBF43926("123456789" కోసం) |
CRC-32C / కాస్టాగ్నోలిiSCSI · NVMe · SCTP
1993లో G. కాస్టాగ్నోలి మరియు సహచరులు ప్రతిపాదించారు, ఈ రూపాంతరం బహుపది 0x1EDC6F41 (ప్రతిబింబించే రూపం 0x82F63B78)ని ఉపయోగిస్తుంది. అదే హామింగ్ దూరం వద్ద, ఇది ISO-HDLC బహుపది కంటే బలమైన బర్స్ట్-ఎర్రర్ డిటెక్షన్ను అందిస్తుంది.
హార్డ్వేర్ త్వరణం Intel SSE4.2 మరియు ARM CRC32 సూచనల ద్వారా అందుబాటులో ఉంది. ఇది iSCSI, NVMe, Btrfs మరియు SCTP వంటి ఆధునిక నిల్వ మరియు రవాణా ప్రోటోకాల్లలో విస్తృతంగా ఉపయోగించబడుతుంది.
| పాలినోమియల్ | 0x1EDC6F41(సాధారణ) /0x82F63B78(ప్రతిబింబించబడింది) |
| ప్రారంభ విలువ | 0xFFFFFFFF |
| ఇన్పుట్ రిఫ్లెక్షన్ | అవును (RefIn = true) |
| అవుట్పుట్ రిఫ్లెక్షన్ | అవును (RefOut = true) |
| ఫైనల్ XOR | 0xFFFFFFFF |
| చెక్ విలువ | 0xE3069283("123456789" కోసం) |
CRC-32 / MPEG-2MPEG-2 · DVB · ATSC
ISO-HDLC వలె అదే 0x04C11DB7 బహుపదిని ఉపయోగిస్తుంది, కానీ ఇన్పుట్ లేదా అవుట్పుట్ కాదుబిట్-ప్రతిబింబించబడింది(MSB మొదటిది, పెద్ద-ఎండియన్). ప్రారంభ విలువ 0xFFFFFFFF మరియు చివరి XOR నిలిపివేయబడింది (XorOut = 0x00000000).
ప్రధానంగా MPEG-2 రవాణా ప్రసారాలలో (PAT, PMT, NIT మరియు సంబంధిత పట్టికలు) PSI/SI పట్టికల కోసం ఉపయోగించబడుతుంది, అలాగే DVB మరియు ATSC ప్రసార వ్యవస్థల్లో సమగ్రత తనిఖీలు.
| పాలినోమియల్ | 0x04C11DB7 |
| ప్రారంభ విలువ | 0xFFFFFFFF |
| ఇన్పుట్ రిఫ్లెక్షన్ | లేదు (RefIn = తప్పు) |
| అవుట్పుట్ రిఫ్లెక్షన్ | లేదు (RefOut = తప్పు) |
| ఫైనల్ XOR | 0x00000000(డిసేబుల్) |
| చెక్ విలువ | 0x0376E6E7("123456789" కోసం) |
CRC-32 / BZIP2BZip2 · AAL5 · DECT
దీని పారామితులు MPEG-2కి దాదాపు సమానంగా ఉంటాయి (పాలినోమియల్ 0x04C11DB7, ప్రతిబింబం లేదు, ప్రారంభ విలువ 0xFFFFFFFF). ఒకే తేడా ఏమిటంటే aఫైనల్ XOR 0xFFFFFFFFతో, ఇది ప్రతి బిట్ను తిప్పుతుంది. దీనిని CRC-32/AAL5 లేదా CRC-32/DECT-B అని కూడా అంటారు.
BZip2 కంప్రెస్డ్ ఫైల్ ఫార్మాట్ మరియు ATM AAL5 ప్రోటోకాల్ యొక్క ట్రైలర్ చెక్సమ్ ఫీల్డ్ ద్వారా ఉపయోగించబడుతుంది.
| పాలినోమియల్ | 0x04C11DB7 |
| ప్రారంభ విలువ | 0xFFFFFFFF |
| ఇన్పుట్ రిఫ్లెక్షన్ | లేదు (RefIn = తప్పు) |
| అవుట్పుట్ రిఫ్లెక్షన్ | లేదు (RefOut = తప్పు) |
| ఫైనల్ XOR | 0xFFFFFFFF |
| చెక్ విలువ | 0xFC891918("123456789" కోసం) |
UTF-8 వచనండిఫాల్ట్ · సాధారణం
ఇన్పుట్ను a వలె పరిగణిస్తుందిUTF-8స్ట్రింగ్, దానిని బైట్లుగా మారుస్తుంది, ఆపై CRC32ని గణిస్తుంది. సాదా వచనం, సోర్స్ కోడ్, JSON మరియు సారూప్య కంటెంట్ కోసం ఇది అత్యంత సాధారణ మోడ్.
గమనిక: GBK లేదా UTF-16 వంటి విభిన్న అక్షరాల సెట్తో ఎన్కోడ్ చేయబడిన అదే వచనం వేరే బైట్ స్ట్రీమ్ను ఉత్పత్తి చేస్తుంది మరియు అందువల్ల వేరే CRC32 విలువ. ఈ సాధనం ఎల్లప్పుడూ UTF-8ని ఉపయోగిస్తుంది.
| ఉత్తమమైనది | సాదా వచనం, సోర్స్ కోడ్, JSON, XML |
| ఉదాహరణ | "హలో" →48 65 6C 6C 6F(5 బైట్లు) |
| CJK అక్షరాలు | చాలా CJK అక్షరాలు UTF-8లో 3 బైట్లను ఉపయోగిస్తాయి |
హెక్సాడెసిమల్బైనరీ డేటా · ప్రోటోకాల్ ఫ్రేమ్లు
ఇన్పుట్ను ముడిగా పరిగణిస్తుందిహెక్సాడెసిమల్ బైట్ అక్షరాలు. ఖాళీలు మరియు లైన్ బ్రేక్లు విస్మరించబడతాయి. ప్రతి రెండు హెక్స్ అక్షరాలు ఒక బైట్ (00–FF) అవుతుంది.
నెట్వర్క్ ఫ్రేమ్లు, ఫర్మ్వేర్ ఇమేజ్ శకలాలు లేదా మెమరీ డంప్ల వంటి ఖచ్చితమైన బైనరీ డేటా కోసం మీకు CRC తనిఖీలు అవసరమైనప్పుడు ఉపయోగకరంగా ఉంటుంది. మీరు నేరుగా వైర్షార్క్ లేదా హెక్స్ డంప్ అవుట్పుట్ను అతికించవచ్చు.
| ఫార్మాట్ | మాత్రమే0-9మరియుa-f / A-Fఅనుమతించబడతాయి |
| అక్షర గణన | తప్పక సమానంగా ఉండాలి (ఒక బైట్కు 2 అక్షరాలు) |
| ఉదాహరణ | 48656C6C6F= "హలో" (5 బైట్లు) |
| వైట్స్పేస్ | స్వయంచాలకంగా విస్మరించబడింది.48 65 6Cఅదే48656C |
బేస్64ఎన్కోడ్ బైనరీ · సర్టిఫికెట్లు · చిత్రాలు
ఇన్పుట్ను a వలె పరిగణిస్తుందిBase64-ఎన్కోడ్ చేసిన స్ట్రింగ్, దానిని ముడి బైట్లుగా డీకోడ్ చేసి, ఆపై CRC32ని గణిస్తుంది. PEM సర్టిఫికేట్లు, JWT పేలోడ్లు, డేటా URIలు మరియు ఇతర Base64 కంటెంట్ కోసం ఉపయోగపడుతుంది.
ప్రామాణిక Base64 ఆల్ఫాబెట్కు మద్దతు ఇస్తుంది (A-Z a-z 0-9 + /). పాడింగ్ పాత్ర=ఐచ్ఛికం. URL-సురక్షిత బేస్64 (-_) మద్దతు లేదు.
| వర్ణమాల | A-Z a-z 0-9 + / = |
| ఉదాహరణ | SGVsbG8=→ "హలో" (5 బైట్లు) |
| URL-సురక్షితమైనది | మద్దతు లేదు. భర్తీ చేయండి-→+మరియు_→/మొదటి |
| ⚠ 1 అక్షరం | చెల్లదు — 1 బైట్ను రూపొందించడానికి 6 బిట్లు సరిపోవు (8 బిట్లు అవసరం) |
| 2 అక్షరాలు | దీనికి డీకోడ్ చేస్తుంది1 బైట్(కనీస చెల్లుబాటు అయ్యే ఇన్పుట్) |
| 3 అక్షరాలు | దీనికి డీకోడ్ చేస్తుంది2 బైట్లు |
| 4 అక్షరాలు | దీనికి డీకోడ్ చేస్తుంది3 బైట్లు(నమూనా ప్రతి 4 అక్షరాలను పునరావృతం చేస్తుంది) |
హెక్సాడెసిమల్అత్యంత సాధారణం · డిఫాల్ట్
విలువను 8-అంకెల అప్పర్కేస్ హెక్సాడెసిమల్ సంఖ్యతో ఉపసర్గతో ప్రదర్శిస్తుంది0x. ప్రతి అక్షరం 4 బిట్లను సూచిస్తుంది, మొత్తం 32 బిట్లకు. ఇది చాలా సాధనాలు, సోర్స్ కోడ్ మరియు డాక్యుమెంటేషన్లో ఉపయోగించే ప్రామాణిక ఆకృతి.
దశాంశ అవుట్పుట్తో పోలిస్తే, హెక్సాడెసిమల్ బైట్ సరిహద్దులను పరిశీలించడాన్ని సులభతరం చేస్తుంది మరియు మెమరీ డంప్లు మరియు ప్రోటోకాల్ ఫీల్డ్లను మరింత సహజంగా సరిపోల్చుతుంది.
| ఉదాహరణ | 0xCBF43926 |
| పొడవు | 8 హెక్సాడెసిమల్ అక్షరాలు = 32 బిట్లు |
| బేస్ | బేస్ 16 (0-9, A-F) |
| ఉత్తమమైనది | కోడ్, డాక్యుమెంటేషన్, వైర్షార్క్, హెక్స్ ఎడిటర్లు |
దశాంశంసంతకం చేయని 32-బిట్ పూర్ణాంకం
చెక్సమ్ని ఒక వలె ప్రదర్శిస్తుందిసంతకం చేయని 32-బిట్ దశాంశ పూర్ణాంకంపరిధిలో 0–4,294,967,295 (2³²−1). కొన్ని భాషలు మరియు సాధనాలు CRC విలువలను దశాంశ రూపంలో సరిపోల్చుతాయి మరియు డేటాబేస్ ఫీల్డ్లు తరచుగా ఈ ప్రాతినిధ్యాన్ని నిల్వ చేస్తాయి.
గమనిక: CRC32 ఫలితాలను సంతకం చేయని పూర్ణాంకాలుగా పరిగణించాలి. Java లేదా C# వంటి సంతకం చేయబడిన Int రకాల్లో, 0x7FFFFFFF పైన ఉన్న విలువలు ప్రతికూలంగా కనిపించవచ్చు మరియు వాటిని uint లేదా విస్తృత సంతకం చేయని ప్రాతినిధ్యంగా మార్చాలి.
| ఉదాహరణ | 3421780262 |
| రేంజ్ | 0–4,294,967,295 |
| గమనిక | జావా పూర్ణాంకానికి, దీనితో మార్చండి& 0xFFFFFFFFL |
| ఉత్తమమైనది | డేటాబేస్లు, పైథాన్ నిర్మాణ విలువలు, సంఖ్యా పోలిక |
బైనరీబిట్-స్థాయి విశ్లేషణ
చెక్సమ్ని 32-బిట్ బైనరీ స్ట్రింగ్తో ప్రిఫిక్స్గా ప్రదర్శిస్తుంది0b. ప్రతి అక్షరం 0 లేదా 1, ఎడమవైపు అత్యంత ముఖ్యమైన బిట్తో సమలేఖనం చేయబడింది మరియు అవసరమైనప్పుడు లీడింగ్ సున్నాలతో ప్యాడ్ చేయబడుతుంది.
అంతర్గత CRC అల్గారిథమ్ను అర్థం చేసుకోవడానికి, బహుపది విభజన, బోధన మరియు బిట్-స్థాయి చెక్సమ్ ప్రాసెసింగ్ అవసరమయ్యే ఎంబెడెడ్ దృశ్యాలను అధ్యయనం చేయడానికి ప్రధానంగా ఉపయోగపడుతుంది.
| ఉదాహరణ | 0b11001011…00100110 |
| పొడవు | ఎడమ సున్నా పాడింగ్తో 32 బిట్ల వద్ద పరిష్కరించబడింది |
| అత్యధిక బిట్ | Bit 31 (MSB) ఎడమవైపున కనిపిస్తుంది |
| ఉత్తమమైనది | అల్గోరిథం విశ్లేషణ, బోధన, ఎంబెడెడ్ డీబగ్గింగ్ |
అక్టల్Unix · ఫైల్ సిస్టమ్స్
చెక్సమ్ను 11-అంకెల అష్టాంశ సంఖ్యగా ప్రిఫిక్స్ చేసి ప్రదర్శిస్తుంది0o. 32 బిట్లకు గరిష్టంగా 11 ఆక్టల్ అక్షరాలు అవసరమవుతాయి ఎందుకంటే 3×11 = 33 > 32. ప్రతి అష్ట అంకె 3 బిట్లను సూచిస్తుంది.
ఆధునిక CRC వర్క్ఫ్లోలలో ఆక్టల్ అవుట్పుట్ అసాధారణం, అయితే ఇది ఇప్పటికీ కొన్ని Unix టూల్స్, ఎంబెడెడ్ ఫర్మ్వేర్ టూల్చెయిన్లు మరియు పాత కమ్యూనికేషన్ ప్రోటోకాల్ స్పెసిఫికేషన్లలో కనిపిస్తుంది.
| ఉదాహరణ | 0o31572031046 |
| పొడవు | 11 అష్ట సంఖ్యల వరకు |
| ప్రతి అంకె | 3 బిట్లను సూచిస్తుంది (0-7) |
| ఉత్తమమైనది | Unix సాధనాలు, పాత ప్రోటోకాల్ లక్షణాలు |