CRC-32 / ISO-HDLCPKZip · PNG · ایتھرنیٹ
سب سے عام CRC-32 کا نفاذ، جسے CRC-32b بھی کہا جاتا ہے۔ یہ کثیرالاضلاع 0x04C11DB7 کی عکاس شکل کا استعمال کرتا ہے، یعنی 0xEDB88320۔ ان پٹ بائٹس اور آؤٹ پٹ دونوں بٹ ریفلیکٹڈ ہیں (ایل ایس بی پہلے)، ابتدائی قدر کے ساتھ اور آخری XOR دونوں 0xFFFFFFFFF پر سیٹ ہیں۔
Zip، gzip، PNG امیجز، ایتھرنیٹ فریمز (IEEE 802.3)، PKCS#7، اور بہت سے لیگیسی سسٹمز کے ذریعے وسیع پیمانے پر استعمال کیا جاتا ہے۔ یہ ڈی فیکٹو "ڈیفالٹ CRC-32" ویرینٹ ہے۔
| Polynomial | 0x04C11DB7(عام) /0xEDB88320(عکاس شدہ) |
| ابتدائی قدر | 0xFFFFFFFF |
| ان پٹ ریفلیکشن | ہاں (RefIn = true) |
| آؤٹ پٹ ریفلیکشن | ہاں (ریف آؤٹ = سچ) |
| فائنل XOR | 0xFFFFFFFF |
| چیک ویلیو | 0xCBF43926("123456789" کے لیے) |
CRC-32C / CastagnoliiSCSI · NVMe · SCTP
G. Castagnoli اور ساتھیوں کے ذریعہ 1993 میں تجویز کیا گیا، یہ متغیر کثیرالاضلاع 0x1EDC6F41 (0x82F63B78 ​​کی عکاسی شدہ شکل) استعمال کرتا ہے۔ اسی ہیمنگ فاصلے پر، یہ ISO-HDLC کثیر الثانی سے زیادہ مضبوط برسٹ ایرر ڈیٹیکشن پیش کرتا ہے۔
Hardware ایکسلریشن Intel SSE4.2 اور ARM CRC32 ہدایات کے ذریعے دستیاب ہے۔ یہ جدید اسٹوریج اور ٹرانسپورٹ پروٹوکولز جیسے iSCSI، NVMe، Btrfs، اور SCTP میں بڑے پیمانے پر استعمال ہوتا ہے۔
| Polynomial | 0x1EDC6F41(عام) /0x82F63B78(عکاس شدہ) |
| ابتدائی قدر | 0xFFFFFFFF |
| ان پٹ ریفلیکشن | ہاں (RefIn = true) |
| آؤٹ پٹ ریفلیکشن | ہاں (ریف آؤٹ = سچ) |
| فائنل XOR | 0xFFFFFFFF |
| چیک ویلیو | 0xE3069283("123456789" کے لیے) |
CRC-32 / MPEG-2MPEG-2 · DVB · ATSC
ISO-HDLC کی طرح 0x04C11DB7 کثیر نام کا استعمال کرتا ہے، لیکن نہ تو ان پٹ اور نہ ہی آؤٹ پٹbit- منعکس(MSB سب سے پہلے، بگ اینڈین)۔ ابتدائی قدر 0xFFFFFFFF ہے اور آخری XOR غیر فعال ہے (XorOut = 0x00000000)۔
بنیادی طور پر MPEG-2 ٹرانسپورٹ اسٹریمز میں PSI/SI ٹیبلز (PAT، PMT، NIT، اور متعلقہ ٹیبلز) کے علاوہ DVB اور ATSC براڈکاسٹ سسٹم میں سالمیت کی جانچ کے لیے استعمال کیا جاتا ہے۔
| Polynomial | 0x04C11DB7 |
| ابتدائی قدر | 0xFFFFFFFF |
| ان پٹ ریفلیکشن | نہیں (RefIn = غلط) |
| آؤٹ پٹ ریفلیکشن | نہیں (RefOut = غلط) |
| فائنل XOR | 0x00000000(غیر فعال) |
| چیک ویلیو | 0x0376E6E7("123456789" کے لیے) |
CRC-32/BZIP2BZip2 · AAL5 · DECT
اس کے پیرامیٹرز تقریباً MPEG-2 سے ملتے جلتے ہیں (کثیریت 0x04C11DB7، کوئی عکاسی نہیں، ابتدائی قدر 0xFFFFFFFF)۔ فرق صرف ایک ہے۔فائنل XOR 0xFFFFFFFF کے ساتھ، جو ہر پل پلٹتا ہے۔ اسے CRC-32/AAL5 یا CRC-32/DECT-B کے نام سے بھی جانا جاتا ہے۔
BZip2 کمپریسڈ فائل فارمیٹ اور ATM AAL5 پروٹوکول کے ٹریلر چیکسم فیلڈ کے ذریعے استعمال کیا جاتا ہے۔
| Polynomial | 0x04C11DB7 |
| ابتدائی قدر | 0xFFFFFFFF |
| ان پٹ ریفلیکشن | نہیں (RefIn = غلط) |
| آؤٹ پٹ ریفلیکشن | نہیں (RefOut = غلط) |
| فائنل XOR | 0xFFFFFFFF |
| چیک ویلیو | 0xFC891918("123456789" کے لیے) |
UTF-8 متنDefault · جنرل
ان پٹ کو بطور aUTF-8string، اسے بائٹس میں تبدیل کرتا ہے، اور پھر CRC32 کا حساب لگاتا ہے۔ یہ سادہ متن، سورس کوڈ، JSON، اور اسی طرح کے مواد کے لیے سب سے عام موڈ ہے۔
نوٹ: GBK یا UTF-16 جیسے مختلف کریکٹر سیٹ کے ساتھ انکوڈ کردہ ایک ہی متن ایک مختلف بائٹ سٹریم بناتا ہے اور اس وجہ سے ایک مختلف CRC32 قدر ہوتی ہے۔ یہ ٹول ہمیشہ UTF-8 استعمال کرتا ہے۔
| کے لیے بہترین | سادہ متن، سورس کوڈ، JSON، XML |
| مثال | "ہیلو" →48 65 6C 6C 6F(5 بائٹس) |
| CJK حروف | زیادہ تر CJK حروف UTF-8 میں 3 بائٹس استعمال کرتے ہیں۔ |
ہیکساڈیسیملبائنری ڈیٹا · پروٹوکول فریمز
ان پٹ کو خام خیال کرتا ہے۔ہیکساڈیسیمل بائٹ لٹریلزخالی جگہوں اور لائن بریکوں کو نظر انداز کر دیا جاتا ہے۔ ہر دو ہیکس حروف ایک بائٹ (00–FF) بن جاتے ہیں۔
مفید ہے جب آپ کو درست بائنری ڈیٹا جیسے کہ نیٹ ورک فریم، فرم ویئر امیج کے ٹکڑے، یا میموری ڈمپ کے لیے CRC چیک کی ضرورت ہو۔ آپ Wireshark یا ہیکس ڈمپ آؤٹ پٹ کو براہ راست پیسٹ کر سکتے ہیں۔
| فارمیٹ | صرف0-9اورa-f / A-Fکی اجازت ہے۔ |
| کریکٹر گنتی | برابر ہونا چاہیے (2 حروف فی بائٹ) |
| مثال | 48656C6C6F= "ہیلو" (5 بائٹس) |
| وائٹ اسپیس | خود بخود نظر انداز کر دیا گیا۔48 65 6Cجیسا ہی ہے۔48656C |
Base64انکوڈ شدہ بائنری · سرٹیفکیٹس · تصاویر
ان پٹ کو بطور aBase64-انکوڈ شدہ سٹرنگ، اسے خام بائٹس میں ڈی کوڈ کرتا ہے، اور پھر CRC32 کا حساب لگاتا ہے۔ PEM سرٹیفکیٹس، JWT پے لوڈز، ڈیٹا URIs اور دیگر Base64 مواد کے لیے مفید ہے۔
معیاری Base64 حروف تہجی (A-Z a-z 0-9 + /) کی حمایت کرتا ہے۔ پیڈنگ کریکٹر=اختیاری ہے۔ یو آر ایل محفوظ بیس 64 (-_) تعاون یافتہ نہیں ہے۔
| حروف تہجی | A-Z a-z 0-9 + / = |
| مثال | SGVsbG8=→ "ہیلو" (5 بائٹس) |
| URL-محفوظ | تعاون یافتہ نہیں ہے۔ بدل دیں۔-→+اور_→/پہلے |
| ⚠ 1 کریکٹر | Invalid — 1 بائٹ بنانے کے لیے 6 بٹس کافی نہیں ہیں (8 بٹس درکار ہیں) |
| 2 حروف | کو ڈی کوڈ کرتا ہے۔1 بائٹ(کم از کم درست ان پٹ) |
| 3 حروف | کو ڈی کوڈ کرتا ہے۔2 بائٹس |
| 4 حروف | کو ڈی کوڈ کرتا ہے۔3 بائٹس( پیٹرن ہر 4 حروف پر دہرایا جاتا ہے) |
ہیکساڈیسیملMost Common · ڈیفالٹ
قدر کو 8 ہندسوں کے بڑے ہیکسا ڈیسیمل نمبر کے طور پر دکھاتا ہے0xہر کریکٹر 4 بٹس کی نمائندگی کرتا ہے، کل 32 بٹس کے لیے۔ یہ معیاری فارمیٹ ہے جو زیادہ تر ٹولز، سورس کوڈ اور دستاویزات میں استعمال ہوتا ہے۔
اعشاریہ آؤٹ پٹ کے مقابلے میں، ہیکساڈیسیمل بائٹ کی حدود کا معائنہ کرنے میں آسان بناتا ہے اور میموری ڈمپ اور پروٹوکول فیلڈز کو قدرتی طور پر میچ کرتا ہے۔
| مثال | 0xCBF43926 |
| لمبائی | 8 ہیکساڈیسیمل حروف = 32 بٹس |
| بیس | بیس 16 (0-9, A-F) |
| کے لیے بہترین | کوڈ، دستاویزات، وائر شارک، ہیکس ایڈیٹرز |
اعشاریہغیر دستخط شدہ 32 بٹ انٹیجر
چیکسم کو بطور ایک دکھاتا ہے۔غیر دستخط شدہ 32 بٹ اعشاریہ عددرینج 0–4,294,967,295 (2³²−1) میں۔ کچھ زبانیں اور اوزار اعشاریہ کی شکل میں CRC اقدار کا موازنہ کرتے ہیں، اور ڈیٹا بیس فیلڈ اکثر اس نمائندگی کو محفوظ کرتے ہیں۔
نوٹ: CRC32 کے نتائج کو غیر دستخط شدہ عدد کے طور پر سمجھا جانا چاہئے۔ جاوا یا C# جیسی دستخط شدہ int قسموں میں، 0x7FFFFFFF سے اوپر کی اقدار منفی ظاہر ہو سکتی ہیں اور انہیں uint یا وسیع تر غیر دستخط شدہ نمائندگی میں تبدیل کیا جانا چاہیے۔
| مثال | 3421780262 |
| رینج | 0–4,294,967,295 |
| نوٹ | جاوا انٹ کے لیے، اس کے ساتھ تبدیل کریں۔& 0xFFFFFFFF |
| کے لیے بہترین | ڈیٹا بیسز، ازگر کی ساخت کی قدریں، عددی موازنہ |
بائنریبٹ لیول کا تجزیہ
چیکسم کو 32 بٹ بائنری سٹرنگ کے طور پر دکھاتا ہے0bہر کریکٹر 0 یا 1 ہوتا ہے، بائیں جانب سب سے اہم بٹ کے ساتھ منسلک ہوتا ہے، اور ضرورت پڑنے پر لیڈنگ زیرو کے ساتھ پیڈ کیا جاتا ہے۔
بنیادی طور پر اندرونی CRC الگورتھم کو سمجھنے، کثیر الثانی تقسیم کا مطالعہ کرنے، تدریس، اور ایمبیڈڈ منظرناموں کے لیے مفید ہے جن کے لیے بٹ لیول چیکسم پروسیسنگ کی ضرورت ہے۔
| مثال | 0b11001011…00100110 |
| لمبائی | بائیں زیرو پیڈنگ کے ساتھ 32 بٹس پر فکسڈ |
| ہائیسٹ بٹ | Bit 31 (MSB) بہت بائیں طرف ظاہر ہوتا ہے۔ |
| کے لیے بہترین | الگورتھم تجزیہ، تدریس، ایمبیڈڈ ڈیبگنگ |
اکٹلUnix · فائل سسٹمز
چیکسم کو 11 ہندسوں کے آکٹل نمبر کے طور پر دکھاتا ہے0o32 بٹس کے لیے زیادہ سے زیادہ 11 آکٹل حروف کی ضرورت ہے کیونکہ 3×11 = 33 > 32۔ ہر آکٹل ہندسہ 3 بٹس کو ظاہر کرتا ہے۔
Octal آؤٹ پٹ جدید CRC ورک فلوز میں غیر معمولی ہے، لیکن یہ اب بھی کچھ یونکس ٹولز، ایمبیڈڈ فرم ویئر ٹول چینز، اور پرانے کمیونیکیشن پروٹوکول وضاحتوں میں ظاہر ہوتا ہے۔
| مثال | 0o31572031046 |
| لمبائی | 11 آکٹل ہندسوں تک |
| فی ہندسہ | 3 بٹس (0-7) کی نمائندگی کرتا ہے |
| کے لیے بہترین | Unix ٹولز، پرانے پروٹوکول کی وضاحتیں۔ |