بیس 64 انکوڈنگ
Base64 انکوڈنگ ٹول کے ساتھ، آپ Base64 طریقہ کے ساتھ داخل کردہ متن کو خفیہ کر سکتے ہیں۔ اگر آپ چاہیں تو، آپ انکرپٹڈ Base64 کوڈ کو Base64 Decode ٹول سے ڈی کوڈ کر سکتے ہیں۔
بیس 64 انکوڈنگ کیا ہے؟
بیس 64 انکوڈنگ ایک انکوڈنگ اسکیم ہے جو بائنری ڈیٹا کو ایسے ماحول پر منتقل کرنے کی اجازت دیتی ہے جو صرف کچھ محدود کریکٹر انکوڈنگز استعمال کرتے ہیں (ایسے ماحول جہاں تمام کریکٹر کوڈز استعمال نہیں کیے جا سکتے، جیسے کہ xml، html، اسکرپٹ، فوری پیغام رسانی کی ایپلی کیشنز)۔ اس اسکیم میں حروف کی تعداد 64 ہے، اور لفظ Base64 میں نمبر 64 یہاں سے آتا ہے۔
بیس 64 انکوڈنگ کیوں استعمال کریں؟
بیس 64 انکوڈنگ کی ضرورت ان مسائل سے پیدا ہوتی ہے جب میڈیا کو خام بائنری فارمیٹ میں ٹیکسٹ بیسڈ سسٹم میں منتقل کیا جاتا ہے۔ چونکہ ٹیکسٹ پر مبنی سسٹمز (جیسے ای میل) بائنری ڈیٹا کو حروف کی ایک وسیع رینج کے طور پر بیان کرتے ہیں، بشمول خصوصی کمانڈ کریکٹرز، ٹرانسفر میڈیم میں منتقل ہونے والے زیادہ تر بائنری ڈیٹا کی ان سسٹمز کے ذریعے غلط تشریح کی جاتی ہے اور ٹرانسمیشن میں گم یا خراب ہو جاتا ہے۔ عمل
اس طرح کے بائنری ڈیٹا کو اس طرح سے انکوڈنگ کرنے کا ایک طریقہ جو اس طرح کے ٹرانسمیشن کے مسائل سے بچتا ہے انہیں بیس 64 انکوڈ شدہ فارمیٹ میں سادہ ASCII متن کے طور پر بھیجنا ہے۔ یہ سادہ متن کے علاوہ ڈیٹا بھیجنے کے لیے MIME معیار کے ذریعے استعمال کی جانے والی تکنیکوں میں سے ایک ہے۔ بہت سی پروگرامنگ زبانیں، جیسے کہ پی ایچ پی اور جاوا اسکرپٹ، میں بیس 64 انکوڈنگ اور ڈی کوڈنگ کے فنکشنز شامل ہیں تاکہ Base64 انکوڈنگ کا استعمال کرتے ہوئے منتقل کیے گئے ڈیٹا کی تشریح کی جا سکے۔
بیس 64 انکوڈنگ منطق
بیس 64 انکوڈنگ میں، 3 * 8 بٹس = 24 بٹس کے ڈیٹا کو 3 بائٹس پر مشتمل 6 بٹس کے 4 گروپوں میں تقسیم کیا گیا ہے۔ ان 4 6 بٹ گروپوں میں سے [0-64] کے درمیان اعشاری قدروں کے مطابق حروف کو انکوڈ کرنے کے لیے بیس 64 ٹیبل سے ملایا جاتا ہے۔ Base64 انکوڈنگ کے نتیجے میں حاصل ہونے والے حروف کی تعداد 4 کی ضرب ہونی چاہیے۔ انکوڈ شدہ ڈیٹا جو کہ 4 کا کثیر نہیں ہے درست Base64 ڈیٹا نہیں ہے۔ Base64 الگورتھم کے ساتھ انکوڈنگ کرتے وقت، جب انکوڈنگ مکمل ہو جاتی ہے، اگر ڈیٹا کی لمبائی 4 کا ضرب نہیں ہے، تو "=" (برابر) کیریکٹر کو انکوڈنگ کے آخر میں اس وقت تک شامل کیا جاتا ہے جب تک کہ یہ 4 کا کثیر نہ ہو۔ مثال کے طور پر، اگر انکوڈنگ کے نتیجے میں ہمارے پاس 10-حروف کا Base64 انکوڈ شدہ ڈیٹا ہے، تو آخر میں دو "==" شامل کیے جائیں۔
بیس 64 انکوڈنگ کی مثال
مثال کے طور پر، تین ASCII نمبرز 155، 162 اور 233 لیں۔ یہ تینوں نمبر 100110111010001011101001 کا ایک بائنری سلسلہ بناتے ہیں۔ ایک بائنری فائل جیسے کہ تصویر میں ایک بائنری سٹریم ہوتا ہے جو دسیوں یا سیکڑوں ہزاروں صفر اور ایک کے لیے کام کرتا ہے۔ ایک Base64 انکوڈر بائنری اسٹریم کو چھ حروف کے گروپس میں تقسیم کرکے شروع ہوتا ہے: 100110 111010 001011 101001۔ ان گروپوں میں سے ہر ایک کا ترجمہ نمبر 38، 58، 11 اور 41 میں کیا جاتا ہے۔ چھ حروف کی بائنری سٹریم بائنری (یا بنیادی) کے درمیان تبدیل ہوتی ہے۔ 2) اعشاریہ سے (بیس -10) حروف کو اسکوائر کر کے ہر قدر کو بائنری ارے میں پوزیشنل اسکوائر کے ذریعہ 1 سے ظاہر کیا جاتا ہے۔ دائیں سے شروع ہو کر بائیں طرف بڑھتے ہوئے اور صفر سے شروع ہوتے ہوئے، بائنری سٹریم میں اقدار 2^0، پھر 2^1، پھر 2^2، پھر 2^3، پھر 2^4، پھر 2^ کی نمائندگی کرتی ہیں۔ 5۔
اسے دیکھنے کا ایک اور طریقہ یہ ہے۔ بائیں سے شروع کرتے ہوئے، ہر پوزیشن کی قیمت 1، 2، 4، 8، 16 اور 32 ہے۔ اگر سلاٹ میں بائنری نمبر 1 ہے، تو آپ اس قدر کو شامل کریں گے۔ اگر سلاٹ میں 0 ہے، تو آپ غائب ہیں۔ بائنری اری 100110 38 موڑ دیتا ہے: 0 * 2 ^ 01 + 1 * 2 ^ 1 + 1 * 2 ^ 2 + 0 * 2 ^ 3 + 0 * 2 ^ 4 + 1 * 2 ^ 5 = 0 + 2 اعشاریہ + 4 + 0 + 0 + 32۔ بیس 64 انکوڈنگ اس بائنری سٹرنگ کو لیتی ہے اور اسے 6 بٹ ویلیوز 38، 58، 11 اور 41 میں تقسیم کرتی ہے۔ آخر میں، ان نمبروں کو Base64 انکوڈنگ ٹیبل کا استعمال کرتے ہوئے ASCII حروف میں تبدیل کیا جاتا ہے۔