Base64 سے JSON: کوکی اور سیشن ڈیٹا کو محفوظ طریقے سے ڈی کوڈ کرنے کا طریقہ
Digital Account Market
· آخری اپ ڈیٹ:
آپ کے پاس حروف اور اعداد کی ایک لمبی، پڑھنے میں نہ آنے والی سٹرنگ ہے جس میں کوکی یا سیشن ڈیٹا ہونا چاہیے، اور اسے واقعی پڑھنے کے لیے آپ کو base64 سے json میں تبدیلی کرنی ہے۔ ہو سکتا ہے یہ سٹرنگ کسی فروخت کنندہ، براؤزر ایکسٹینشن یا امپورٹ پینل نے دی ہو، اور آپ اسے کسی دوسرے ٹول میں ڈالنے سے پہلے اس کے فیلڈز دیکھنا چاہتے ہوں۔
یہ گائیڈ بتاتی ہے کہ Base64 سٹرنگ کو کیسے پہچانیں، مفت ٹول سے اسے صاف ستھرے فارمیٹ والے JSON میں کیسے ڈی کوڈ کریں، عام غلطیاں کیسے ٹھیک کریں، اور جب کوئی پینل یہی فارمیٹ مانگے تو JSON کو واپس Base64 میں کیسے انکوڈ کریں۔ اس میں ڈی کوڈ شدہ ڈیٹا کو نجی رکھنے کا ذکر بھی ہے، کیونکہ کوکی اور ٹوکن کی قدریں حساس ہوتی ہیں۔
Base64 کیا ہے اور کوکی اور ٹوکن اس میں کیوں لپیٹے جاتے ہیں
Base64 کسی بھی ڈیٹا کو، حتیٰ کہ کوٹیشن مارکس، کرلی بریکٹ اور اردو حروف والے متن کو بھی، صرف 64 محفوظ حروف میں لکھتا ہے: A سے Z، a سے z، 0 سے 9، اور + اور / کی علامتیں۔ جو سسٹم خام رموزِ اوقاف یا لائن بریک نہیں سنبھال پاتے وہ بھی اس طرح ڈیٹا لے جا سکتے ہیں، کیونکہ Base64 ہر چیز کو سادہ، کاپی کرنے میں آسان متن میں بدل دیتا ہے۔
اسی لیے عملی طور پر آپ کا واسطہ کوکی کی base64 سٹرنگ سے پڑتا ہے۔ سیشن ڈیٹا کو JSON کی شکل میں ایکسپورٹ کرنے والا ٹول اسے Base64 میں لپیٹ سکتا ہے تاکہ وہ ٹیکسٹ باکس، URL پیرامیٹر یا چیٹ میسج سے ٹوٹے بغیر گزر جائے، اور امپورٹ پینل بھی داخل کرتے وقت یہی لپٹی ہوئی شکل مانگ سکتا ہے۔
اہم بات یہ ہے کہ Base64 ایک انکوڈنگ ہے، انکرپشن نہیں۔ اس میں نہ کوئی پاس ورڈ ہوتا ہے نہ کوئی کلید، اور جس کے پاس بھی سٹرنگ ہو وہ اسے دوبارہ اصل متن میں بدل سکتا ہے، اس لیے سٹرنگ کو اسی طرح سنبھالیں جیسے وہ خود ڈیٹا ہو۔
Base64 سٹرنگ کو کیسے پہچانیں
کچھ بھی ڈی کوڈ کرنے سے پہلے دیکھ لیں کہ سٹرنگ واقعی Base64 ہے۔ عموماً تین فوری جانچیں کافی ہوتی ہیں۔
حروف کا سیٹ
معیاری Base64 سٹرنگ میں صرف حروف، اعداد، + اور / ہوتے ہیں۔ اگر آپ کو کالن، الفاظ کے درمیان خالی جگہ یا @ کا نشان نظر آئے تو غالباً یہ کچھ اور ہے۔ username:password:email:email_password:auth_token جیسی ڈیلیوری لائنیں کالن سے الگ کیا ہوا سادہ متن ہیں، Base64 نہیں، اور کوئی ڈی کوڈر انہیں سمجھ نہیں سکے گا۔
پیڈنگ
Base64 چار حروف کے گروپوں میں کام کرتا ہے۔ جب ڈیٹا آخری گروپ نہیں بھر پاتا تو پیڈنگ کے طور پر ایک یا دو برابر کے نشان لگا دیے جاتے ہیں۔ = یا == پر ختم ہونے والی سٹرنگ ایک مضبوط اشارہ ہے، لیکن برابر کے نشان کے بغیر سٹرنگ بھی اس صورت میں درست ہوتی ہے جب اس کی لمبائی ٹھیک بیٹھ جائے، اور کچھ ٹولز جان بوجھ کر پیڈنگ ہٹا دیتے ہیں۔
پہچان کرانے والا آغاز
JSON آبجیکٹ کرلی بریکٹ اور کوٹیشن مارک سے شروع ہوتا ہے، اور یہ جوڑی ہمیشہ ایک ہی آغاز میں انکوڈ ہوتی ہے۔ eyJ سے شروع ہونے والی سٹرنگ تقریباً ہمیشہ JSON آبجیکٹ ہوتی ہے، W3si کا مطلب عموماً آبجیکٹس کی فہرست ہوتا ہے، اور WyJ کا مطلب متنی قدروں کی فہرست۔ اگر آپ کی سٹرنگ اسی طرح شروع ہوتی ہے تو اسے ڈی کوڈ کرنے پر JSON ملنا چاہیے۔
یقین نہیں؟ کوئی نمونہ فارمیٹ پہچاننے والے ٹول میں پیسٹ کریں۔ یہ حروف کا سیٹ، پیڈنگ اور لمبائی جانچتا ہے اور بتاتا ہے کہ متن Base64، JSON یا کسی اور چیز جیسا لگتا ہے۔
Base64 سے JSON: مفت ٹول سے ڈی کوڈ کریں
Base64 سے JSON ٹول پورا کام آپ کے براؤزر میں کرتا ہے اور کچھ بھی اپ لوڈ نہیں ہوتا، اس لیے سٹرنگ آپ کے ڈیوائس پر ہی رہتی ہے۔
- Base64 سٹرنگ کو اِن پٹ باکس میں پیسٹ کریں۔ اگر آپ دیکھنا چاہتے ہیں کہ درست نتیجہ کیسا لگتا ہے تو پہلے مثال والا بٹن آزمائیں۔
- نتیجہ فوراً ظاہر ہو جاتا ہے۔ اگر ڈی کوڈ شدہ متن درست JSON ہے تو وہ دو اسپیس کی انڈینٹیشن کے ساتھ سلیقے سے دکھایا جاتا ہے، جس سے اندر اندر بنے فیلڈز دیکھنا آسان ہو جاتا ہے۔
- ساخت پڑھیں، پھر کاپی بٹن سے JSON لے جائیں۔
ٹول ڈی کوڈ کرنے سے پہلے خالی جگہیں اور لائن بریک ہٹا دیتا ہے اور بائٹس کو UTF-8 میں پڑھتا ہے، اس لیے اعراب والے حروف اور غیر لاطینی رسم الخط بگڑے ہوئے نشانات کے بجائے درست نکلتے ہیں۔ آزمانے کے لیے eyJ1c2VyIjoiaGVzYXAxIiwidG9rZW4iOiJhYmMxMjMifQ== پیسٹ کریں، آپ کو user اور token فیلڈز والا ایک آبجیکٹ ملے گا۔
اگر ڈی کوڈ شدہ متن پڑھنے کے قابل ہے مگر JSON نہیں، تو ٹول نتیجہ پھینکنے کے بجائے اسے سادہ متن کے طور پر دکھاتا ہے۔ اکیلے ٹوکن کے ساتھ ایسا عام ہے، اور یہ بھی کامیاب ڈی کوڈنگ ہی ہے۔
ڈی کوڈ کی غلطیاں ٹھیک کریں: پیڈنگ، لائن بریک اور URL-safe شکل
جب ڈی کوڈ ناکام ہوتا ہے تو وجہ تقریباً ہمیشہ انہی میں سے کوئی ایک ہوتی ہے۔
پیڈنگ کا نہ ہونا
سٹرنگ کٹ گئی تھی یا اس کے برابر کے نشان ہٹا دیے گئے تھے۔ eyJpZCI6MX0= اور eyJpZCI6MTIzfQ== کا موازنہ کریں: پہلی کو ایک برابر کا نشان چاہیے، دوسری کو دو۔ لمبائی چار کا ضرب بننے تک = لگائیں۔ استثنا وہ سٹرنگ ہے جس کی لمبائی کو چار سے تقسیم کرنے پر باقی ایک بچے: کوئی پیڈنگ اسے ٹھیک نہیں کرتی، کیونکہ کاپی کرتے وقت حروف کھو گئے تھے، اور آپ کو اصل کی نئی کاپی چاہیے۔
لائن بریک اور فالتو خالی جگہیں
ای میل کلائنٹس، چیٹ ایپس اور ٹیکسٹ فائلیں اکثر لمبی سٹرنگ کو کئی لائنوں میں توڑ دیتی ہیں۔ یہ ٹوٹ پھوٹ ڈیٹا کا حصہ نہیں ہے۔ ٹول اسے آپ کے لیے ہٹا دیتا ہے، مگر دوسرے ڈی کوڈر شاید نہ ہٹائیں۔
URL-safe شکل
ویب ایڈریس کے لیے بنی سٹرنگ + کی جگہ - اور / کی جگہ _ رکھتی ہیں تاکہ لنک کے اندر سلامت رہیں، اور معیاری ڈی کوڈر ان دونوں حروف کو مسترد کر دیتا ہے۔ ہر - کو + سے اور ہر _ کو / سے بدلیں، پیڈنگ واپس لگائیں اور دوبارہ ڈی کوڈ کریں۔
غلطی سے پیسٹ ہونے والی اکاؤنٹ لائنیں
اگر آپ نے کالن سے الگ کی گئی ڈیلیوری ڈیٹا کی قطاریں پیسٹ کر دی ہیں تو ٹول بتائے گا کہ یہ اکاؤنٹ لسٹ جیسی لگتی ہے۔ ایسے متن کو ڈی کوڈر نہیں، کالم سپلٹر چاہیے۔ جو فیلڈز آپ کو چاہییں انہیں نکالنے کے لیے ڈیلیمیٹر سے تقسیم کرنے والا ٹول استعمال کریں۔
JSON سے Base64 انکوڈ: جو ٹولز یہی مانگتے ہیں ان کے لیے واپس بدلیں
کچھ پینل اور امپورٹ ٹولز سیشن ڈیٹا خام JSON کے بجائے Base64 میں چاہتے ہیں۔ JSON سے Base64 ٹول یہی سمت سنبھالتا ہے۔ اپنا JSON پیسٹ کریں، ایک لائن والا کمپیکٹ آؤٹ پٹ چنیں یا انڈینٹ والا آسانی سے پڑھا جانے والا آؤٹ پٹ، اور نتیجہ کاپی کریں۔ زیادہ تر امپورٹس کے لیے کمپیکٹ موڈ بہتر ڈیفالٹ ہے کیونکہ وہ سب سے چھوٹی سٹرنگ دیتا ہے۔
ٹول پہلے آپ کا JSON جانچتا ہے، اس لیے چھوٹا ہوا کوما یا بند نہ کیا گیا کرلی بریکٹ خراب پے لوڈ انکوڈ کرنے سے پہلے ہی پکڑ میں آ جاتا ہے۔ انکوڈنگ UTF-8 استعمال کرتی ہے، جس سے آنا جانا قابلِ بھروسا رہتا ہے: ایک سٹرنگ ڈی کوڈ کریں، ایک فیلڈ بدلیں، دوبارہ انکوڈ کریں، اور باقی سارے فیلڈز بالکل ویسے ہی لوٹتے ہیں جیسے تھے۔
اگر آپ کی کوکیز Netscape فارمیٹ والی ٹیکسٹ فائل میں ہیں تو انہیں Netscape کوکی ٹول سے بدلیں اور Netscape کوکیز کو JSON میں بدلنے والی ہماری گائیڈ دیکھیں۔ اگر آپ auth token کے ساتھ کام کرتے ہیں تو auth token سے Twitter میں لاگ اِن کرنا دیکھیں۔
ڈی کوڈ شدہ ڈیٹا کو نجی رکھیں
ڈی کوڈ کی ہوئی کوکی اور سیشن ڈیٹا میں ایسے ٹوکن ہو سکتے ہیں جو اکاؤنٹ کی چابی کی طرح کام کرتے ہیں، اس لیے کچھ عادتیں اپنانے کے لائق ہیں۔
- لوکل پر کام کریں۔ آپ کا اِن پٹ اپ لوڈ نہ کرنے والا براؤزر پر مبنی ٹول، آپ کا متن کسی ایسے سرور پر بھیجنے والی انجان ویب سائٹ سے بہتر ہے جسے آپ جانچ نہیں سکتے۔
- ڈی کوڈ شدہ قدریں عوامی چیٹ، ٹکٹ یا سکرین شاٹ میں پیسٹ نہ کریں۔ مدد مانگتے وقت صرف فیلڈز کے نام شیئر کریں۔
- اصل سٹرنگ کو جوں کا توں رکھیں، اس کی کاپی ڈی کوڈ کریں، اور کام مکمل ہونے پر ورکنگ فائلیں مٹا دیں۔
اس طرح کی سادہ، بار بار دہرائی جانے والی تبدیلیوں کے لیے عموماً لوکل کنورٹر ہی کافی ہوتا ہے۔ لوکل فارمیٹ کنورٹر کب کافی ہے والا ہمارا مضمون بتاتا ہے کہ یہ فیصلہ کیسے کریں۔ جب آپ اکاؤنٹس چننے کے لیے تیار ہوں تو پرانے اکاؤنٹس کی کیٹیگری دیکھیں، اور ڈیلیوری سے لاگ اِن کے درمیان کی ہر ضرورت کے لیے مفت ٹولز کا صفحہ استعمال کریں۔
اکثر پوچھے جانے والے سوالات
مجھے کیسے پتا چلے گا کہ کوئی سٹرنگ Base64 ہے؟
تین باتیں دیکھیں: کیا وہ صرف حروف، اعداد، + اور / استعمال کرتی ہے؛ کیا اس کی لمبائی چار کے گروپوں اور اختیاری = پیڈنگ میں بیٹھتی ہے؛ اور JSON آبجیکٹ ہونے پر کیا وہ اکثر eyJ سے شروع ہوتی ہے۔ فارمیٹ پہچاننے والا ٹول یہ جانچ خودبخود کر دیتا ہے۔
میرا Base64 ڈی کوڈ ہو کر پڑھنے میں نہ آنے والے حروف کیوں دے رہا ہے؟
یا تو ڈیٹا کبھی متن تھا ہی نہیں، جیسے کوئی تصویر یا کمپریسڈ مواد، یا اس میں کوئی دوسرا کریکٹر سیٹ استعمال ہوا تھا۔ اگر سٹرنگ URL-safe شکل میں ہے اور اسے پہلے بدلا نہیں گیا، تب بھی بے معنی حروف ملتے ہیں۔
آخر میں برابر کے نشان کا کیا مطلب ہے؟
یہ پیڈنگ ہے۔ Base64 چار حروف کے بلاکس میں انکوڈ کرتا ہے، اور ڈیٹا کم پڑنے پر ایک یا دو برابر کے نشان آخری بلاک کو پورا کرتے ہیں۔ ان میں اپنی کوئی معلومات نہیں ہوتیں۔
کیا Base64 ایک طرح کی انکرپشن ہے؟
نہیں۔ Base64 صرف ڈیٹا لکھنے کا طریقہ بدلتا ہے، اور کوئی بھی بغیر کلید کے اسے الٹ سکتا ہے۔ Base64 سٹرنگ کو اسی طرح محفوظ رکھیں جیسے آپ پڑھنے کے قابل ڈیٹا کو رکھتے۔
JSON کو واپس Base64 میں کیسے بدلوں؟
JSON کو JSON سے Base64 ٹول میں پیسٹ کریں، کمپیکٹ یا انڈینٹ والا آؤٹ پٹ چنیں اور نتیجہ کاپی کریں۔ ٹول انکوڈ کرنے سے پہلے غلط JSON کی نشاندہی کر دیتا ہے۔

