یہ ٹول مختلف فارمیٹس میں منفرد شناختی کوڈز (unique identifiers) تیار کرنے کے لیے ڈیزائن کیا گیا ہے، جن میں UUID v4، UUID v7، ULID، اور NanoID شامل ہیں۔ آپ اپنی ضرورت کے مطابق ID کی قسم، ان کی تعداد، اور مخصوص فارمیٹس کے لیے ان کی ظاہری شکل یا ساخت کو تبدیل کر سکتے ہیں۔ یہ تمام شناختی کوڈز فوری طور پر آپ کے براؤزر میں تیار ہوتے ہیں، جنہیں آپ انفرادی طور پر یا ایک ساتھ کاپی کر سکتے ہیں۔
منفرد شناختی کوڈز کے فارمیٹس اور ان کا فرق
مختلف ایپلی کیشنز اور ڈیٹا بیسز کی ضروریات کو پورا کرنے کے لیے منفرد شناختی کوڈز کے متعدد فارمیٹس تیار کیے گئے ہیں۔ ان فارمیٹس کے درمیان بنیادی فرق ان کی ساخت، رینڈمنس (randomness) اور وقت کی ترتیب پر مبنی ہے:
- UUID v4: یہ فارمیٹ 36 حروف پر مشتمل ہوتا ہے جس میں 122 بٹس کی خالص رینڈمنس شامل ہوتی ہے۔ اس میں کوئی ترتیب نہیں ہوتی اور یہ مکمل طور پر ناقابل قیاس ہوتا ہے۔
- UUID v7: یہ بھی 36 حروف کا فارمیٹ ہے، لیکن یہ ملی سیکنڈ کے ٹائم اسٹیمپ (timestamp) سے شروع ہوتا ہے۔ اس کا فائدہ یہ ہے کہ یہ تخلیق کے وقت کے لحاظ سے ترتیب دیا جا سکتا ہے، جو ڈیٹا بیس کیز کے لیے بہترین ہے۔
- ULID: یہ UUID v7 کی طرح وقت کی ترتیب پر مبنی ہوتا ہے، لیکن یہ ایک مختصر، کیس-انسنسیٹو (case-insensitive) 26 حروف کے ٹیکسٹ فارمیٹ میں ہوتا ہے۔
- NanoID: اس فارمیٹ میں کوئی ترتیب نہیں ہوتی۔ یہ ایک مختصر اور مکمل طور پر حسب ضرورت فارمیٹ ہے جس میں آپ اپنی مرضی کے مطابق لمبائی اور حروف کا مجموعہ (alphabet) منتخب کر سکتے ہیں۔
رینڈمنس، کرپٹوگرافک مضبوطی اور تصادم کی مزاحمت
شناختی کوڈز کی تیاری میں رینڈمنس کی طاقت انتہائی اہم ہے۔ یہ ٹول کرپٹوگرافک طور پر مضبوط براؤزر رینڈمنس کا استعمال کرتا ہے تاکہ تیار کردہ کوڈز کا اندازہ لگانا ناممکن ہو۔
جب بات تصادم کی مزاحمت (collision resistance) کی ہو، تو شناختی کوڈ کی لمبائی اور استعمال شدہ حروف کے سیٹ کے درمیان گہرا تعلق ہوتا ہے۔ مثال کے طور پر، NanoID کی ڈیفالٹ لمبائی 21 حروف ہوتی ہے۔ اگر آپ اس کی لمبائی کو کم کرتے ہیں یا حروف کے سیٹ کو محدود کرتے ہیں، تو تصادم کی مزاحمت کم ہو جاتی ہے۔ اس کے برعکس، UUID v4 میں 122 بٹس کی بے ترتیبی تصادم کے امکان کو عملی طور پر صفر کر دیتی ہے۔
ڈیٹا بیس انڈیکسنگ اور وقت پر مبنی شناختی کوڈز کے فوائد
ڈیٹا بیس ایڈمنسٹریٹرز اور ڈویلپرز کے لیے پرائمری کیز (primary keys) کا انتخاب کارکردگی پر گہرا اثر ڈالتا ہے۔ UUID v4 جیسے خالص رینڈم کوڈز ڈیٹا بیس انڈیکس کی لوکیلٹی (locality) کے لیے موزوں نہیں ہوتے کیونکہ یہ ڈیٹا بیس میں بکھرے ہوئے مقامات پر داخل ہوتے ہیں۔
اس کے برعکس، وقت پر مبنی شناختی کوڈز جیسے UUID v7 اور ULID تخلیق کے وقت کے حساب سے ترتیب دیے جا سکتے ہیں۔ چونکہ یہ کوڈز ملی سیکنڈ کے ٹائم اسٹیمپ سے شروع ہوتے ہیں، اس لیے ڈیٹا بیس میں نئے ریکارڈز ترتیب وار داخل ہوتے ہیں، جس سے انڈیکسنگ کی کارکردگی بہتر ہوتی ہے۔ تاہم، یہ بات ذہن میں رہے کہ UUID v7 اور ULID ایک ہی ملی سیکنڈ کے اندر تیار ہونے والے کوڈز کے لیے سخت ترتیب (strict ordering) کی ضمانت نہیں دیتے۔
ٹول کے ان پٹ اور آؤٹ پٹ کے قوانین
اس جنریٹر کو استعمال کرنے کے لیے درج ذیل اختیارات اور قوانین فراہم کیے گئے ہیں:
ان پٹ کے اختیارات (Inputs)
- فارمیٹ: آپ UUID v4، UUID v7، ULID، یا NanoID میں سے انتخاب کر سکتے ہیں۔
- تعداد: آپ ایک وقت میں 1 سے لے کر 100 تک شناختی کوڈز تیار کر سکتے ہیں۔
- بڑے حروف (Uppercase): UUIDs کو بڑے حروف میں ظاہر کرنے کے لیے ایک ٹوگل بٹن۔
- ہائفنز شامل کریں: UUIDs میں ہائفنز (hyphens) کو شامل یا ختم کرنے کا ٹوگل۔
- لمبائی: NanoID کے لیے ایک سلائیڈر، جس کی ڈیفالٹ لمبائی 21 ہے اور اسے 2 سے 36 کے درمیان ایڈجسٹ کیا جا سکتا ہے۔
- حروف تہجی (Alphabet): NanoID کے لیے ایک قابل تدوین ٹیکسٹ فیلڈ جس سے آپ استعمال ہونے والے حروف کو تبدیل کر سکتے ہیں۔
آؤٹ پٹ اور اسٹیٹس پیغامات (Outputs)
- تیار کردہ IDs: تیار شدہ منفرد شناختی کوڈز کی فہرست۔
- IDs: تیار کردہ کوڈز کی کل تعداد۔
- تیار ہے۔: یہ پیغام ظاہر کرتا ہے کہ ٹول استعمال کے لیے تیار ہے۔
- تیار ہو گیا۔: یہ پیغام کوڈز کی کامیابی سے تیاری کے بعد ظاہر ہوتا ہے۔
- سب کاپی ہو گیا!: تمام کوڈز کو ایک ساتھ کاپی کرنے پر ظاہر ہونے والا پیغام۔
- حروف تہجی میں کم از کم 2 مختلف حروف ہونے چاہئیں۔: اگر NanoID کے حروف تہجی میں 2 سے کم مختلف حروف ہوں تو یہ خرابی کا پیغام ظاہر ہوتا ہے۔ اس صورت میں نتائج صاف کر دیے جاتے ہیں، کوڈز کی تعداد 0 ہو جاتی ہے، اور "سب کاپی کریں" کا بٹن غیر فعال ہو جاتا ہے۔
کسی بھی آپشن کو تبدیل کرنے یا "دوبارہ تیار کریں" پر کلک کرنے سے شناختی کوڈز خود بخود نئے سرے سے تیار ہو جاتے ہیں۔ آپ فہرست میں موجود کسی بھی انفرادی کوڈ پر کلک کر کے اسے براہ راست کاپی کر سکتے ہیں۔
پرائیویسی اور مقامی پروسیسنگ
اس ٹول میں پرائیویسی کا خاص خیال رکھا گیا ہے۔ آپ کے تمام شناختی کوڈز مکمل طور پر آپ کے براؤزر کے اندر مقامی طور پر تیار کیے جاتے ہیں۔ اس عمل میں BroBroGo کو کوئی بھی ڈیٹا یا معلومات نہیں بھیجی جاتیں، جس سے یہ یقینی بنتا ہے کہ آپ کا ڈیٹا آپ کے اپنے کنٹرول میں رہتا ہے۔
اکثر پوچھے گئے سوالات (FAQ)
UUID v4, UUID v7, ULID اور NanoID میں کیا فرق ہے؟
UUID v4 واقف 36-حروف کے فارمیٹ میں 122 بٹس کی خالص رینڈمنس ہے، لیکن اس کی بے ترتیب ترتیب ڈیٹا بیس انڈیکس کی لوکیلٹی کے لیے موزوں نہیں ہوتی۔ UUID v7 اسی شکل کو برقرار رکھتا ہے لیکن شروع میں ملی سیکنڈ کا ٹائم اسٹیمپ لگاتا ہے، تاکہ IDs تقریباً تخلیق کے وقت کے حساب سے ترتیب دی جا سکیں — یہ پرائمری کیز کے لیے کارآمد ہے۔ ULID بھی یہی کام ایک چھوٹی، کیس-انسنسیٹو 26-حروف کی اسٹرنگ میں کرتا ہے۔ NanoID ترتیب کو مکمل طور پر چھوڑ دیتا ہے اور ایک بہت چھوٹی، مکمل طور پر حسب ضرورت ID فراہم کرتا ہے — آپ خود لمبائی اور حروف کا سیٹ منتخب کرتے ہیں۔
کیا یہ IDs اتنی رینڈم ہیں کہ ان کا اندازہ لگانا ناممکن ہو؟
جی ہاں — ہر ID کرپٹوگرافک طور پر مضبوط براؤزر رینڈمنس کے ساتھ تیار کی جاتی ہے، نہ کہ کسی قابل قیاس سورس سے۔ UUID v4 اور NanoID کا ڈیفالٹ حروف تہجی 100 بٹس سے زیادہ کی رینڈمنس رکھتا ہے۔ UUID v7 اور ULID ان بٹس میں سے تقریباً 48 بٹس کو ٹائم اسٹیمپ کے لیے استعمال کرتے ہیں، اس لیے ٹائم اسٹیمپ والے فارمیٹس کو خفیہ رازوں کے بجائے ترتیب وار IDs کے طور پر دیکھیں۔
کیا میں NanoID کی لمبائی اور حروف کا سیٹ تبدیل کر سکتا ہوں؟
جی ہاں — NanoID پر سوئچ کریں اور یہ ٹول لمبائی کا سلائیڈر (ڈیفالٹ کے طور پر 21 حروف، جو لائبریری سے مطابقت رکھتا ہے) اور ایک قابل تدوین حروف تہجی کا فیلڈ ظاہر کرتا ہے۔ لمبائی کو کم کرنے یا حروف کے سیٹ کو محدود کرنے سے تصادم مزاحمت کم ہو جاتی ہے، اس لیے اگر آپ حروف کا سیٹ کم کریں تو لمبائی کو مناسب حد تک رکھیں۔
کیا اس ٹول کو استعمال کرتے وقت میرا ڈیٹا محفوظ رہتا ہے؟
آپ کی IDs مضبوط براؤزر رینڈمنس کے ساتھ مقامی طور پر تیار کی جاتی ہیں۔ BroBroGo کو کچھ بھی نہیں بھیجا جاتا، اس لیے پروسیسنگ مکمل طور پر آپ کے اپنے براؤزر کے اندر ہی محدود رہتی ہے۔