← تمام ٹولز

Base64 اینکوڈ اور ڈی کوڈ

اپنے براؤزر میں فوراً Base64 اینکوڈ اور ڈی کوڈ کریں۔ جانیں Base64 کیا ہے، یہ سائز 33% کیوں بڑھاتا ہے، اور یہ اینکرپشن نہیں بلکہ اینکوڈنگ کیوں ہے۔

Base64 کیا ہے اور یہ کیوں وجود میں آیا

Base64 ایک بائنری سے ٹیکسٹ میں انکوڈنگ اسکیم ہے۔ یہ کچی بائٹس - یعنی وہ ڈیٹا جو تصاویر، آرکائیوز، خفیہ نگاری کی کیز، یا کوئی بھی چیز جو سادہ پڑھنے کے قابل ٹیکسٹ نہیں - لے کر انہیں 64 قابلِ چھپائی حروف کے ایک چھوٹے، محفوظ حروفِ تہجی میں دوبارہ لکھتا ہے: 26 بڑے حروف A-Z، 26 چھوٹے حروف a-z، دس ہندسے 0-9، اور دو اضافی علامتیں، عام طور پر + اور /۔ آخر میں پیڈنگ کے لیے مساوی کی علامت استعمال ہوتی ہے۔ چونکہ یہ جو بھی حرف پیدا کرتا ہے وہ عام ASCII ہوتا ہے، نتیجہ اُن نظاموں سے گزر سکتا ہے جو صرف ٹیکسٹ کو سنبھالنے کے لیے بنائے گئے تھے۔

یہی Base64 کی ایجاد کی پوری وجہ ہے۔ کئی پرانے پروٹوکولز - ای میل اس کی کلاسک مثال ہے - فرض کر لیتے ہیں کہ جو مواد وہ لے کر جاتے ہیں وہ ٹیکسٹ ہے۔ اگر آپ انہیں کچی بائنری تھما دیں، تو کچھ بائٹس بگڑ جاتی ہیں، ہٹا دی جاتی ہیں، یا کنٹرول کریکٹرز کے طور پر سمجھی جاتی ہیں، اور ڈیٹا بگڑی ہوئی حالت میں پہنچتا ہے۔ Base64 بائٹس کو ایسی شکل میں تبدیل کر کے اس مسئلے سے بچ جاتا ہے جسے کوئی بھی ٹیکسٹ سے محفوظ چینل بغیر چھیڑے گزار دے گا۔ اصل ڈیٹا دوسری طرف عین اسی طرح دوبارہ تعمیر کیا جا سکتا ہے۔

بائنری ڈیٹا کی چمکتی ہوئی خلاصہ ندی گہرے نیلگوں پس منظر پر سیان اور سنہری روشنی کے ساتھ ٹیکسٹ کریکٹر ندی میں تبدیل ہوتی ہوئی
Base64 کچی بائٹس کو ایک محفوظ، ٹیکسٹ دوست کریکٹر ندی میں ڈھال دیتا ہے۔

یہ تبدیلی کیسے کام کرتی ہے

میکانکی طور پر، Base64 ان پٹ کو تین بائٹس کے گروپوں میں تقسیم کرتا ہے - یعنی 24 بٹس - اور پھر انہی 24 بٹس کو چھ چھ بٹس کے چار گروپوں میں دوبارہ تقسیم کرتا ہے۔ چھ بٹس 64 ممکنہ قدریں ظاہر کر سکتی ہیں، اور یہی وجہ ہے کہ حروفِ تہجی میں 64 حروف ہیں۔ چنانچہ ان پٹ کی تین بائٹس ہمیشہ آؤٹ پٹ کے چار حروف بن جاتی ہیں۔ جب ان پٹ کی لمبائی تین کی درست ضرب نہ ہو، تو انکوڈر آخری گروپ کو ایک یا دو = حروف سے پیڈ کر دیتا ہے تاکہ ڈی کوڈر کو معلوم ہو کہ اصل ڈیٹا کہاں ختم ہوتا ہے۔

یہی چار سے تین کا تناسب مشہور سائز کے جرمانے کی بھی وجہ ہے: Base64 آؤٹ پٹ اصل ڈیٹا سے تقریباً 33% بڑا ہوتا ہے۔ اگر انکوڈ شدہ ٹیکسٹ کو مقررہ چوڑائی کی لائنوں میں لپیٹا جائے، جیسا کہ ای میل کے معیارات اکثر تقاضا کرتے ہیں، تو آپ لائن بریکس کے لیے اس کے اوپر چند فیصد اضافی ادا کرتے ہیں۔ یہ اضافی بوجھ مطابقت کی قیمت ہے، اور زیادہ تر استعمالات کے لیے یہ ایک منصفانہ سودا ہے۔

Base64 آپ کو کہاں کہاں ملتا ہے

ایک بار جب آپ کو معلوم ہو جائے کہ کیا تلاش کرنا ہے، تو Base64 روزمرہ کمپیوٹنگ میں ہر جگہ نظر آتا ہے:

  • ڈیٹا URIs۔ ایک چھوٹی تصویر یا فونٹ کو براہِ راست HTML یا CSS میں data: URI کے ذریعے سرایت کیا جا سکتا ہے، جس میں فائل کا مواد Base64 کے طور پر لکھا جاتا ہے۔ براؤزر اسے اِن لائن ڈی کوڈ کر دیتا ہے، جس سے ایک الگ نیٹ ورک درخواست کی بچت ہوتی ہے۔
  • ای میل اٹیچمنٹس۔ MIME، وہ معیار جو ای میل کو فائلیں لے جانے کی اجازت دیتا ہے، بائنری اٹیچمنٹس کو ٹیکسٹ صرف والے میل سسٹم سے بغیر نقصان کے گزارنے کے لیے Base64 پر انحصار کرتا ہے۔
  • HTTP بیسک آتھنٹیکیشن۔ مانوس Authorization: Basic ... ہیڈر محض ایک یوزرنیم اور پاس ورڈ ہے جو کولن سے جڑے ہوئے ہیں اور Base64 میں انکوڈ کیے گئے ہیں - اور یہی عین وجہ ہے کہ بیسک آتھ ہمیشہ HTTPS پر چلنا چاہیے۔
  • ٹوکنز اور کنفیگ۔ JSON ویب ٹوکنز، سرٹیفکیٹس، SSH کیز، اور بے شمار کنفیگریشن قدریں Base64 کے طور پر محفوظ یا منتقل کی جاتی ہیں تاکہ وہ کاپی پیسٹ اور ٹیکسٹ پر مبنی اسٹوریج سے بچ نکلیں۔

انکوڈنگ خفیہ نگاری نہیں ہے

یہی سب سے اہم بات ہے جسے سمجھنا ضروری ہے، اور یہ نئے اور تجربہ کار ڈویلپرز دونوں کو الجھا دیتی ہے۔ Base64 خفیہ نگاری نہیں ہے اور کوئی سیکیورٹی فراہم نہیں کرتا۔ اس میں کوئی خفیہ کی، کوئی پاس ورڈ، اور کچھ بھی نجی نہیں ہے۔ یہ تبدیلی مکمل طور پر عوامی اور مکمل طور پر واپسی کے قابل ہے: کوئی بھی جو Base64 اسٹرنگ دیکھے وہ اسے ایک سیکنڈ میں اصل بائٹس میں ڈی کوڈ کر سکتا ہے، بالکل اسی طرح کے ٹول کا استعمال کرتے ہوئے۔

لہٰذا Base64 پاس ورڈز، API کیز، یا کسی بھی حساس قدر کو چھپانے کے لیے ایک ناقص جگہ ہے۔ اگر کوئی اسٹرنگ محض الجھی ہوئی نظر آتی ہے، تو اس کا مطلب یہ نہیں کہ وہ محفوظ ہو گئی۔ اس کے برعکس خفیہ نگاری ڈیٹا کو ایک خفیہ کی کے ساتھ تبدیل کرتی ہے تاکہ صرف وہی شخص جو وہ کی رکھتا ہے اسے پڑھ سکے۔ یہ دونوں مختلف مسائل حل کرتے ہیں: خفیہ نگاری رازداری کی حفاظت کرتی ہے، Base64 مطابقت کی حفاظت کرتا ہے۔ یہ اکثر ساتھ ساتھ استعمال ہوتے ہیں - آپ AES کے ساتھ ڈیٹا کو خفیہ کر سکتے ہیں اور پھر سائفر ٹیکسٹ کو Base64 میں انکوڈ کر سکتے ہیں تاکہ یہ ٹیکسٹ چینل سے گزر سکے - مگر ان میں سے کوئی بھی دوسرے کا متبادل کبھی نہیں ہوتا۔

ایک خلاصہ تصویر چمکتے ہوئے حروف کی بہتی ندی میں تحلیل ہوتی اور دوبارہ جڑتی ہوئی، نیلگوں سرمئی سیان اور سنہری رنگ کے ساتھ
انکوڈنگ اور ڈی کوڈنگ مکمل طور پر واپسی کے قابل ہیں - اور کوئی رازداری فراہم نہیں کرتیں۔

انکوڈ بمقابلہ ڈی کوڈ

دونوں سمتیں سادہ آئینے کی صورتیں ہیں۔ انکوڈنگ آپ کے اصل ٹیکسٹ یا بائنری کو لے کر Base64 حروف کی اسٹرنگ بناتی ہے۔ ڈی کوڈنگ ایک Base64 اسٹرنگ لے کر عین اصل بائٹس دوبارہ تعمیر کرتی ہے۔ ہمارا ٹول دونوں کام براہِ راست آپ کے براؤزر میں کرتا ہے - آپ جو کچھ بھی ٹائپ یا پیسٹ کریں وہ کبھی سرور کو نہیں بھیجا جاتا، اس لیے یہ عمل مکمل طور پر مقامی اور نجی ہوتا ہے۔ اس سے وہ ٹوکن ڈی کوڈ کرنا محفوظ ہو جاتا ہے جسے آپ ڈیبگ کر رہے ہیں یا وہ سنپٹ انکوڈ کرنا جسے آپ سرایت کرنا چاہتے ہیں، بغیر اس کے کہ آپ کا ڈیٹا صفحے سے باہر جائے۔

متعلقہ تبدیلیوں کے لیے، پرسنٹ انکوڈنگ کے لیے ہمارا URL encode/decode ٹول دیکھیں، یا کسی ٹوکن کے اندر Base64 حصوں کا معائنہ کرنے کے لیے JWT decoder استعمال کریں۔ آپ کو یہ ہمارے باقی ڈویلپر ٹولز کے ساتھ ملیں گے۔

اکثر پوچھے جانے والے سوالات

کیا Base64 خفیہ نگاری کی ایک شکل ہے؟

نہیں۔ Base64 ایک انکوڈنگ ہے، خفیہ نگاری نہیں۔ یہ کوئی کی استعمال نہیں کرتا اور کسی کے بھی ذریعے مکمل طور پر واپسی کے قابل ہے، اس لیے یہ کوئی سیکیورٹی فراہم نہیں کرتا۔ حساس ڈیٹا کی حفاظت کے لیے AES یا RSA جیسی حقیقی خفیہ نگاری استعمال کریں۔

Base64 ڈیٹا کو بڑا کیوں بنا دیتا ہے؟

Base64 ان پٹ کی ہر تین بائٹس کو چار آؤٹ پٹ حروف میں بدل دیتا ہے، جو سائز میں تقریباً 33% اضافہ کرتا ہے۔ اگر آؤٹ پٹ کو مقررہ لمبائی کی لائنوں میں تقسیم کیا جائے، تو لائن بریکس اس کے اوپر مزید چند فیصد شامل کر دیتے ہیں۔

Base64 کون سے حروف استعمال کرتا ہے؟

معیاری حروفِ تہجی میں 26 بڑے حروف، 26 چھوٹے حروف، 0 سے 9 تک ہندسے، ساتھ ہی پلس اور سلیش کی علامتیں شامل ہیں، اور آخر میں پیڈنگ کے لیے مساوی کی علامت استعمال ہوتی ہے۔

کیا میں Base64 میں پاس ورڈز محفوظ طریقے سے رکھ سکتا ہوں؟

نہیں۔ Base64 صرف یہ بدلتا ہے کہ ڈیٹا کیسا نظر آتا ہے، نہ کہ کون اسے پڑھ سکتا ہے۔ کوئی بھی اسے فوری ڈی کوڈ کر سکتا ہے۔ پاس ورڈز کو ایک مضبوط الگورتھم سے ہیش کیا جانا چاہیے، اور رازوں کو خفیہ کیا جانا چاہیے۔

کیا یہ Base64 ٹول نجی ہے؟

جی ہاں۔ انکوڈنگ اور ڈی کوڈنگ مکمل طور پر آپ کے براؤزر میں ہوتی ہے۔ آپ جو کچھ درج کریں وہ اپلوڈ یا کسی سرور کو نہیں بھیجا جاتا، اس لیے آپ کا ڈیٹا آپ کے اپنے آلے پر ہی رہتا ہے۔

انکوڈنگ اور ڈی کوڈنگ میں کیا فرق ہے؟

انکوڈنگ اصل ٹیکسٹ یا بائنری کو Base64 اسٹرنگ میں تبدیل کرتی ہے۔ ڈی کوڈنگ اس کے برعکس کرتی ہے، ایک Base64 اسٹرنگ کو واپس عین اصل بائٹس میں بدل دیتی ہے۔ یہ دونوں آئینے کی صورت والے عمل ہیں۔