UUID জেনারেটর
একবারে একটি থেকে একশোটি পর্যন্ত র্যান্ডম ভার্সন 4 UUID তৈরি করুন এবং তালিকা হিসেবে কপি করুন। এগুলো আসে আপনার ব্রাউজারের ক্রিপ্টোগ্রাফিকভাবে সুরক্ষিত র্যান্ডম জেনারেটর থেকে। আর আপনি যে UUID পেস্ট করবেন, একটি চেকার তার ভার্সন ও ভ্যারিয়েন্ট জানিয়ে দেবে।
০টি অক্ষর · ০টি শব্দ · ০টি লাইন
সম্পূর্ণভাবে এই ব্রাউজার ট্যাবেই চলে। আপনার টেক্সট কখনও আপলোড বা সংরক্ষণ করা হয় না।
UUID ভার্সন
ভার্সন হলো তৃতীয় গ্রুপের প্রথম অঙ্ক; ভ্যারিয়েন্ট চতুর্থ গ্রুপের প্রথম অঙ্কে এনকোড করা (RFC UUID-এর জন্য 8, 9, a বা b)। উদাহরণগুলো RFC 9562-এর টেস্ট ভেক্টর।
| ভার্সন | যা থেকে তৈরি | উদাহরণ |
|---|---|---|
| v1 | গ্রেগরিয়ান টাইমস্ট্যাম্প + নোড (MAC) আইডি | c232ab00-9414-11ec-b3c8-9f6bdeced846 |
| v3 | নেমস্পেস + নামের MD5 হ্যাশ | 5df41881-3aed-3515-88a7-2f4a814cf09e |
| v4 | ১২২টি র্যান্ডম বিট | 919108f7-52d1-4320-9bac-f847db4148a8 |
| v5 | নেমস্পেস + নামের SHA-1 হ্যাশ | 2ed6657d-e927-568b-95e1-2665a8aea6a2 |
| v6 | v1 টাইমস্ট্যাম্প পুনর্বিন্যস্ত, যাতে আইডি সময় অনুযায়ী সর্ট হয় | 1ec9414c-232a-6b00-b3c8-9f6bdeced846 |
| v7 | Unix মিলিসেকেন্ড + র্যান্ডম বিট, সর্ট করা যায় | 017f22e2-79b0-7cc3-98c4-dc0c0c07398f |
| v8 | অ্যাপ্লিকেশন-নির্ধারিত কাস্টম লেআউট | 2489e9ad-2ee2-8e00-8ec9-32d5f69181c0 |
UUID কী এবং কীভাবে পড়বেন
UUID (ইউনিভার্সালি ইউনিক আইডেন্টিফায়ার, Microsoft সফটওয়্যারে একে GUID বলা হয়) হলো একটি 128-বিট সংখ্যা, যা 8-4-4-4-12 গ্রুপে 32টি হেক্সাডেসিমাল অঙ্কে লেখা হয়, যেমন f47ac10b-58cc-4372-a567-0e02b2c3d479। ২০০৫ সালে এটি RFC 4122-এ মানসম্মত হয়; ২০২৪ সালের মে মাসে সেই নথির জায়গায় আসে RFC 9562, যা পুরনো ভার্সনগুলো রেখে তিনটি নতুন ভার্সন যোগ করেছে। দুটি অবস্থান নির্দিষ্ট: তৃতীয় গ্রুপের প্রথম অঙ্কটি হলো ভার্সন (4372-এর 4), আর চতুর্থ গ্রুপের প্রথম অঙ্কটি ভ্যারিয়েন্ট নির্দেশ করে, যা RFC অনুসরণকারী প্রতিটি UUID-তে 8, 9, a বা b হয়।
ভার্সন 4 বাকি 122 বিট র্যান্ডম ডেটা দিয়ে পূরণ করে। এই পরিসর এত বিশাল যে একটি ডুপ্লিকেটের 50% সম্ভাবনার জন্য প্রায় 2.7 কুইন্টিলিয়ন (2.7 × 10¹⁸) UUID তৈরি করতে হবে, তাই বহু মেশিনে সমন্বয় ছাড়াই আলাদাভাবে v4 আইডি তৈরি করা যায়। এই পেজ crypto.randomUUID ব্যবহার করে, সেটি না থাকলে crypto.getRandomValues, কখনোই Math.random নয়, কারণ এর আউটপুট অনুমান-অযোগ্য হওয়ার জন্য তৈরি নয়। Uppercase ও Without hyphens অপশন শুধু ফরম্যাট বদলায়; মান একই থাকে, আর বেশির ভাগ পার্সার ছোট বা বড় হাতের যেকোনোটি গ্রহণ করে।
v4, v7 ও অন্যান্য ভার্সন
ভার্সন 1 ও 6 তৈরি হয় টাইমস্ট্যাম্প ও নোড আইডি থেকে, যা মূলত কম্পিউটারের MAC অ্যাড্রেস; এতে আইডিটি কোথায় ও কখন তৈরি হয়েছে তা ফাঁস হয়ে যায়। ভার্সন 3 ও 5 একটি নেমস্পেস ও নাম MD5 বা SHA-1 দিয়ে হ্যাশ করে, তাই একই ইনপুটে সবসময় একই UUID আসে। ভার্সন 8 কাস্টম স্কিমের জন্য মুক্ত লেআউট। সবচেয়ে গুরুত্বপূর্ণ নতুন সংযোজন ভার্সন 7: এটি শুরু হয় মিলিসেকেন্ডে 48-বিট Unix টাইমস্ট্যাম্প দিয়ে এবং বাকিটা র্যান্ডম বিটে পূরণ হয়, ফলে আইডিগুলো তৈরির সময় অনুযায়ী সাজানো যায়।
এই ক্রমই ডাটাবেস প্রাইমারি কি-এর জন্য v7 বিবেচনার কারণ। র্যান্ডম v4 কি B-tree ইনডেক্সের সবখানে ছড়িয়ে পড়ে, ফলে টেবিল বড় হলে পেজ ভাঙে ও ক্যাশ লোকালিটি খারাপ হয়; অন্যদিকে v7 কি অটো-ইনক্রিমেন্ট কলামের মতো মোটামুটি বাড়তি ক্রমে আসে, অথচ কেন্দ্রীয় কাউন্টার ছাড়াই তৈরি করা যায়। কিছুই প্রকাশ করে না, এমনকি কখন তৈরি তাও নয়, এমন আইডি চাইলে v4 বেছে নিন; ইনসার্ট পারফরম্যান্স ও সময়ক্রম গুরুত্বপূর্ণ হলে v7। UUID একটি আইডেন্টিফায়ার, গোপন তথ্য নয়: পাসওয়ার্ড ও API সিক্রেটের জন্য আলাদা পাসওয়ার্ড জেনারেটর ব্যবহার করুন। আরও এনকোডার ও ইন্সপেক্টর পাবেন ডেভেলপার টুলস পেজে।
সচরাচর জিজ্ঞাসা
- র্যান্ডমভাবে তৈরি দুটি UUID কি কখনো একই হতে পারে?
- তত্ত্বে হ্যাঁ, বাস্তবে না। 122 র্যান্ডম বিটের কারণে প্রতি সেকেন্ডে এক বিলিয়ন v4 UUID প্রায় 86 বছর তৈরি করলেও একটি সংঘর্ষের সম্ভাবনা মাত্র প্রায় 50%, যদি র্যান্ডম উৎস নির্ভরযোগ্য হয়।
- UUID আর GUID-এর মধ্যে পার্থক্য কী?
- মূলত কোনো পার্থক্য নেই। GUID হলো একই 128-বিট আইডেন্টিফায়ারের Microsoft-এর নাম। কিছু Microsoft টুল GUID বড় হাতের অক্ষরে বা কার্লি ব্র্যাকেটে দেখায়, যা এখানকার চেকার গ্রহণ করে।
- একটি UUID কোন ভার্সনের, তা কীভাবে বুঝবেন?
- তৃতীয় গ্রুপের প্রথম অঙ্ক দেখুন: 4 মানে র্যান্ডম, 7 মানে সময়ক্রমিক, 1 মানে টাইমস্ট্যাম্প ও নোড। ভার্সন ও ভ্যারিয়েন্ট দেখতে এটি Check a UUID-তে পেস্ট করুন।
- ডেটাবেস কি-এর জন্য v4-এর বদলে কি UUIDv7 ব্যবহার করা উচিত?
- প্রায়ই হ্যাঁ। v7 কি সময়ক্রমিক, ফলে B-tree ইনডেক্স সংক্ষিপ্ত থাকে এবং ইনসার্ট দ্রুত হয়। v7 আইডিতে থাকা তৈরির সময় গোপন রাখতে চাইলে v4-ই রাখুন।
- পাসওয়ার্ড রিসেট টোকেন হিসেবে UUID ব্যবহার করা কি নিরাপদ?
- নিরাপদ জেনারেটরের v4 UUID-তে 122 র্যান্ডম বিট থাকে, যা অনুমান-অযোগ্য হওয়ার জন্য যথেষ্ট; তবে অনেক লাইব্রেরি স্পষ্ট মেয়াদসহ আলাদা টোকেন ফাংশন দেয়। v1 বা v7-এর মতো সময়-ভিত্তিক ভার্সন কখনো সিক্রেট হিসেবে ব্যবহার করবেন না।