چیکسمز کیسے کام کرتے ہیں
کارڈ نمبرز، آئی بی اینز، ٹیکس آئی ڈیز اور کرپٹو ایڈریسز میں ایک یا دو چھپے ہوئے اضافی ڈیجٹ ہوتے ہیں جو دیگر ڈیجٹس سے حساب کیے جاتے ہیں۔ اگر ایک حرف غلط لکھا جائے تو حساب درست نہیں رہتا — اسی طرح ایک ویلیڈیٹر فوراً، آف لائن، غلطی کو نشان زد کر سکتا ہے، بغیر بینک یا بلاکچین سے پوچھے۔
چیکسم کیا ہے؟
ایک چیکسم (یا چیک ڈیجٹ) جان بوجھ کر تیار کردہ زائد معلومات ہے۔ جب کوئی نمبر جاری کیا جاتا ہے، تو اس کے ایک یا زیادہ ڈیجٹس آزادانہ طور پر منتخب نہیں کیے جاتے؛ وہ باقی ڈیجٹس سے ایک مقررہ طریقے کے مطابق حساب کیے جاتے ہیں۔ جو بھی اس طریقے کو جانتا ہے، وہ بعد میں ان ڈیجٹس کا دوبارہ حساب لگا کر موازنہ کر سکتا ہے۔ اگر وہ میچ کرتے ہیں، تو نمبر اندرونی طور پر مستقل ہے؛ اگر نہیں، تو کوئی حرف غلط لکھا گیا، غلط پڑھا گیا یا خراب ہو گیا ہے۔
یہی وہ وعدہ ہے جو ایک چیکسم کرتا ہے۔ یہ اس بات کی نشاندہی نہیں کرتا کہ اکاؤنٹ موجود ہے، اس کا مالک کون ہے یا اس میں کیا ہے — یہ بات اس سائٹ پر ہر ویلیڈیٹر دہراتا ہے، کیوں کہ ان دونوں کو آسانی سے الجھایا جا سکتا ہے۔
عملی مثال 1 — لون، کارڈ نمبر الگورتھم
ویزا، ماسٹرکارڈ اور دیگر زیادہ تر ادائیگی کارڈز میں لون الگورتھم استعمال ہوتا ہے۔ کلاسیکی مثال 7992 7398 713 لیں۔ سب سے دائیں جانب والے ڈیجٹ سے شروع کرتے ہوئے، ہر دوسرے ڈیجٹ کو دوگنا کریں؛ اگر دوگنا کرنے سے دو ہندسوں والی تعداد بنے، تو اس کے ڈیجٹس کو جمع کریں۔ پھر سب کو ملا دیں۔
| ڈیجٹ | دائیں جانب سے پوزیشن | دوگنا؟ | اسے شمار کیا جاتا ہے |
|---|---|---|---|
3 | چیک ڈیجٹ | — | 3 |
1 | دائیں جانب سے دوسرا | 1 × 2 = 2 | 2 |
7 | تیسرا | — | 7 |
8 | چوتھا | 8 × 2 = 16 → 1 + 6 | 7 |
9 | پانچواں | — | 9 |
3 | چھٹا | 3 × 2 = 6 | 6 |
7 | ساتواں | — | 7 |
2 | آٹھواں | 2 × 2 = 4 | 4 |
9 | نواں | — | 9 |
9 | دسواں | 9 × 2 = 18 → 1 + 8 | 9 |
7 | 11واں | — | 7 |
دائیں جانب والے کالم کا مجموع 3 + 2 + 7 + 7 + 9 + 6 + 7 + 4 + 9 + 9 + 7 = 70 ہے۔ ستر دس سے قابلِ تقسیم ہے، اس لیے یہ نمبر درست ہے۔ اگر کسی ایک ہندسے کو تبدیل کیا جائے تو مجموع دس کا مضروب نہیں رہے گا۔ اسے کریڈٹ کارڈ ویلیڈیٹر پر آزمائیں — یہ آپ کے ڈیوائس پر یہی حساب کتاب انجام دیتا ہے۔
عملی مثال 2 — وزنی مجموع (ISBN-10)
بہت سے قومی شناختی نمبروں میں وزنی مجموع استعمال ہوتا ہے: ہر ہندسے کو ایک مقررہ وزن سے ضرب دیں، ان کا مجموع نکالیں اور باقی کو چیک کریں۔ ISBN-10 اس کی سب سے واضح مثال ہے۔ 0-306-40615-2 کے لیے وزن 10 سے 1 تک ترتیب وار ہیں:
0×10 + 3×9 + 0×8 + 6×7 + 4×6 + 0×5 + 6×4 + 1×3 + 5×2 + 2×1 = 132
132 بالکل 11 × 12 کے برابر ہے، اس لیے ماڈیولو 11 کا باقی صفر ہے اور ISBN درست ہے۔ برازیل کا CPF، پولینڈ کا PESEL اور درجنوں دیگر شناختی نمبر اپنے الگ وزن اور ماڈیول کے ساتھ اسی نمونے پر عمل کرتے ہیں — اسی لیے ایک بیچ ID تصدیق کار ایک سیکنڈ میں ان میں سے ہزاروں کی جانچ کر سکتا ہے۔
عملی مثال 3 — IBAN اور ماڈیول 97
بین الاقوامی بینک اکاؤنٹ نمبروں میں ISO 7064 ماڈیول 97-10 کا استعمال ہوتا ہے، جو دو چیک ہندسوں والا ایک مضبوط نظام ہے۔ معیاری مثال GB82 WEST 1234 5698 7654 32 لیں:
- ملک کے لحاظ سے لمبائی چیک کریں: برطانوی IBAN 22 حروف پر مشتمل ہے۔ ✓
- پہلے چار حروف کو آخر میں منتقل کریں:
WEST12345698765432GB82۔ - ہر حرف کو دو ہندسوں سے بدلیں (A = 10 … Z = 35): W→32، E→14، S→28، T→29، G→16، B→11؛ جس سے
3214282912345698765432161182بنتا ہے۔ - اس عدد کو 97 سے تقسیم کریں۔ باقی بالکل 1 ہونا چاہیے — اور ایسا ہی ہے۔
چونکہ 97 ایک اول عدد ہے اور کسی بھی دو ہندسوں کی تبدیلی سے بھی بڑا ہے، ماڈیول 97 ہر ایک حرفی غلطی اور ہر ترتیب کی تبدیلی کو پکڑ لیتا ہے؛ صرف تقریباً ایک بے ترتیب سٹرنگ میں سے 97 میں سے ایک ہی اتفاقاً درست ثابت ہوگی۔ IBAN توثیق کنندہ ان میں سے ہر ایک مرحلے کی کامیابی یا ناکامی دکھاتا ہے۔
کرپٹو ایڈریسز: ہیشز سے بنائی گئی چیکسمز
بٹ کوائن اور ایتھیریم ایڈریسز میں سختی بہت زیادہ ہے، کیونکہ وہاں ایک غلطی سے پیسے مستقل طور پر کسی کے پاس نہیں پہنچتے۔ پرانے بٹ کوائن ایڈریسز (1…، 3…) Base58Check استعمال کرتے ہیں: ایڈریس کا ڈیٹا دو بار SHA-256 سے گزارا جاتا ہے اور نتیجے کے پہلے چار بائٹس کو چیکسم کے طور پر شامل کیا جاتا ہے۔ ایک ہی غلط حرف پورے ہیش کو بدل دیتا ہے، اس لیے غلطی سے بچنے کے امکانات تقریباً چار ارب میں ایک ہیں۔ نئے bc1… ایڈریسز Bech32 یا Bech32m استعمال کرتے ہیں، جو ایک ایرر-کریکٹنگ کوڈ ہے جو چار حروف تک کی کسی بھی غلطی کا پتہ لگانے کی ضمانت دیتا ہے۔ ایتھیریم کا EIP-55 اپنا چیکسم بڑے اور چھوٹے حروف کے نمونے میں چھپاتا ہے۔
بٹ کوائن ایڈریس ویلیڈیٹر اور ایتھیریم ایڈریس ویلیڈیٹر براؤزر میں یہ الگورتھمز نافذ کرتے ہیں اور ہر صفحے کے لوڈ ہونے پر خود کو سرکاری ٹیسٹ ویکٹرز کے مقابلے میں تصدیق کرتے ہیں۔
منصوبے ایک نظر میں
| منصوبہ | استعمال کرنے والے | پکڑتا ہے | کسی بے ترتیب غلطی کے گزرنے کا امکان |
|---|---|---|---|
| لون (mod 10) | کریڈٹ اور ڈیبٹ کارڈز، IMEI، بہت سے قومی شناختی کارڈز | ہر ایک ہندسے کی غلطی اور زیادہ تر متصل تبدیلیاں | تقریباً 10 میں سے 1 |
| ISO 7064 mod 97-10 | آئی بی اے این، کچھ ٹیکس اور کمپنی نمبرات | ہر ایک غلطی اور ہر ایک ترتیب تبدیلی | تقریباً 1 میں سے 97 |
| وزنی مجموع، mod 10 یا 11 | آئی ایس بی این-10، برازیل سی پی ایف، پولینڈ پی ای ایس ای ایل اور بہت سے شناختی نمبرات | اکیلی غلطیاں اور زیادہ تر ترتیب تبدیلیاں | تقریباً 1 میں سے 10 یا 1 میں سے 11 |
| بیس58چیک (دوگنا SHA-256، 4 بائٹس) | بٹ کوائن کے پرانے ایڈریسز (1…، 3…) | کوئی بھی ٹائپو، بہت زیادہ امکان کے ساتھ | تقریباً 1 میں سے 4 ارب |
| Bech32 / Bech32m (BCH کوڈ) | Bitcoin SegWit اور Taproot ایڈریسز (bc1…) | یقینی طور پر: کوئی بھی غلطی زیادہ سے زیادہ 4 حروف کو متاثر کرتی ہے۔ | ایک ارب میں سے ایک سے بھی کم۔ |
| EIP-55 (keccak-256 کیسنگ) | Ethereum ایڈریسز | غلطیاں، بڑے اور چھوٹے حروف کے نمونے کی وجہ سے۔ | مخلوط کیس والے ان پٹ کے لیے بہت کم۔ |
کیوں ایک ویلیڈیٹر آپ کے ڈیوائس پر چلنا چاہیے؟
اوپر بیان کردہ تمام باتیں آپ کے پاس موجود ہندسوں پر حسابی عمل ہیں۔ ویلیڈیٹر کے لیے کارڈ نمبر، ٹیکس شناختی نمبر یا والیٹ ایڈریس سرور پر بھیجنے کی کوئی وجہ نہیں — اور اسے نہ بھیجنے کی بہت اچھی وجہ ہے۔ اس سائٹ پر موجود ہر ویلیڈیٹر مقامی طور پر ہی چلتا ہے؛ آف لائن ٹولز کی فہرست انہیں ایک جگہ جمع کرتی ہے، اور ہماری اس بات کی جانچ کرنے کی رہنمائی کہ آیا کوئی ٹول آپ کا ڈیٹا اپلوڈ کرتا ہے بتاتی ہے کہ کسی بھی سائٹ کے لیے بیس سیکنڈ میں اس کی تصدیق کیسے کی جائے۔
عمومی سوالات
کیا ایک درست چیکسمپ عدد حقیقی یا فعال ہے؟
نہیں۔ چیکسمپ صرف یہ ثابت کرتا ہے کہ ہندسے اندرونی طور پر مطابقت رکھتے ہیں — یعنی عدد موجود ہو سکتا ہے۔ یہ آپ کو یہ نہیں بتا سکتا کہ اکاؤنٹ کھلا ہے، اس کا مالک کون ہے، یا اس کا بیلنس کتنا ہے۔ اس سائٹ پر موجود ہر ویلیڈیٹر صفحے پر یہی بات کہتا ہے، کیونکہ یہ فرق اہم ہے۔
کیا ایسا ممکن ہے کہ کوئی غلط نمبر بھی پاس ہو جائے؟
یہ اس سکیم پر منحصر ہے۔ ایک ماڈ-10 چیک ڈیجٹ تقریباً 10 میں سے 1 بے ترتیب غلطی کو گزرنے دیتا ہے؛ آئی بی اے این کا ماڈ-97 تقریباً 97 میں سے 1 کو گزرنے دیتا ہے؛ 4 بائٹ کا بیس58چیک چیکسم تقریباً 4 ارب میں سے 1 کو گزرنے دیتا ہے۔ اہم بات یہ ہے کہ عام انسانی غلطیاں — ایک غلط ڈیجٹ، دو ڈیجٹس کی جگہ تبدیلی — ان سب کے ذریعے پکڑی جاتی ہیں۔
کچھ شناخت کنندگان میں بالکل بھی چیکسم کیوں نہیں ہوتا؟
پرانے یا آسان سکیمز کو رجسٹری میں تلاش کرنے کے لیے ڈیزائن کیا گیا تھا، نہ کہ آف لائن چیک کرنے کے لیے، اور کچھ نمبرنگ سسٹمز اس روایت سے پہلے ہی موجود تھے۔ ان کے لیے، ایک ویلیڈیٹر صرف لمبائی اور فارمیٹ کی جانچ کر سکتا ہے۔
کیا میرا کارڈ یا شناختی نمبر ویلیڈیٹر میں چسپاں کرنا محفوظ ہے؟
صرف اس صورت میں جب توثیق آپ کے ڈیوائس پر ہو۔ چیکسم دراصل آپ کے پاس موجود ڈیجٹس پر حسابی عمل ہے، اس لیے ویلیڈیٹر کے لیے انہیں سرور پر بھیجنے کی کوئی جائز وجہ نہیں ہے۔ آپ اپنے ڈیٹا کو اپلوڈ کرنے والے ٹول کی جانچ کے لیے ہماری رہنما میں بیان کردہ ایئرپلین موڈ ٹیسٹ کے ذریعے تصدیق کر سکتے ہیں کہ آیا ٹول مقامی طور پر چل رہا ہے۔
چیکسم، ہیش اور انکرپشن میں کیا فرق ہے؟
چیکسم ایک مختصر چیک ڈیجٹ ہے جو غلطی سے ہونے والی غلطیوں کو پکڑنے کے لیے ڈیزائن کیا گیا ہے۔ ایک کرپٹوگرافک ہیش ایک لمبا فنگرپرنٹ ہے جو اس طرح ڈیزائن کیا گیا ہے کہ جان بوجھ کر کی گئی تبدیلی بھی قابلِ تشخیص ہو اور اصل ڈیٹا بحال نہ کیا جا سکے۔ انکرپشن ڈیٹا کو اس طرح تبدیل کرتی ہے کہ اسے صرف ایک کلید کے ذریعے ہی پڑھا جا سکے۔ بیس58چیک اپنے چیکسم بنانے کے لیے ہیش کا استعمال کرتا ہے، اسی لیے اسے غلطی سے دھوکہ دینا بہت مشکل ہے۔