UUID জেনারেটর
ডেটাবেস, API বা টেস্টিং-এ ব্যবহারের জন্য র্যান্ডম UUID v4 মান তৈরি করুন।
এই UUID জেনারেটরটি কীভাবে ব্যবহার করবেন
- 1 UUID-এর সংখ্যা নির্ধারণ করুন
কতগুলো আইডেন্টিফায়ার জেনারেট করতে হবে তা নির্দিষ্ট করতে 'Number of UUIDs' ফিল্ডে ১–১০ লিখুন।
- 2 জেনারেট করুন
ক্যালকুলেটরটি ব্রাউজারের ক্রিপ্টোগ্রাফিক র্যান্ডম সোর্স ব্যবহার করে র্যান্ডম UUID v4 ভ্যালু তৈরি করে।
- 3 ফলাফল কপি করুন
ডেটাবেস, API পেলোড বা টেস্ট ফিক্সচারে ব্যবহারের জন্য জেনারেট করা UUID(গুলি) কপি করুন।
এই UUID জেনারেটর কীভাবে কাজ করে
এই টুলটি ব্রাউজারের র্যান্ডমনেস ব্যবহার করে ভার্সন ৪ UUID তৈরি করে। UUID v4 আইডেন্টিফায়ারগুলো ১২৮-বিট মান বিশিষ্ট যেখানে নির্দিষ্ট বিটগুলো ভার্সন (৪) এবং আধুনিক UUID স্পেসিফিকেশন দ্বারা ব্যবহৃত স্ট্যান্ডার্ড ভেরিয়েন্ট নির্দেশ করে। এটি উপলব্ধ থাকলে crypto.randomUUID() ব্যবহার করে, অন্যথায় crypto.getRandomValues() ব্যবহার করে; যদি কোনো Web Crypto API উপলব্ধ না থাকে, তবে টুলটি দুর্বল আইডেন্টিফায়ার তৈরি করার পরিবর্তে UUID জেনারেশন অসমর্থিত বলে রিপোর্ট করে।
UUID v4 = xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx (যেখানে y ∈ {8,9,a,b}) উদাহরণের আউটপুট: 550e8400-e29b-41d4-a716-446655440000
১টি UUID জেনারেট করলে a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d-এর মতো একটি মান পাওয়া যায়। তৃতীয় গ্রুপের ৪ সংখ্যাটি ভার্সন ৪ নির্দেশ করে।
৩টি UUID জেনারেট করলে তিনটি আলাদা মান পাওয়া যায়, যার প্রতিটিতে ১২২টি র্যান্ডম বিট থাকে। এগুলো টেস্ট রেকর্ড বা API রিসোর্সের জন্য প্রাইমারি কি হিসেবে ব্যবহার করুন।
- ✓ উপলব্ধ থাকলে ব্রাউজারের ক্রিপ্টোগ্রাফিক র্যান্ডম নম্বর API ব্যবহার করে।
- ✓ এটি Math.random() এ ফিরে যায় না; যদি Web Crypto অনুপলব্ধ থাকে, তবে জেনারেটরটি রিপোর্ট করে যে UUID জেনারেশন অসমর্থিত।
- UUID v4 সিকোয়েন্সিয়াল নয় এবং এমন ডেটাবেসে সর্টেবল প্রাইমারি কি হিসেবে ব্যবহারের জন্য উপযুক্ত নয় যেখানে অর্ডারড ইনসার্ট সুবিধা দেয়।
- RFC 9562 — Universally Unique IDentifiers (UUIDs) — UUID v4 ফরম্যাট এবং র্যান্ডম-বিট গঠন
- MDN — Crypto.randomUUID() — ক্রিপ্টোগ্রাফিকভাবে সুরক্ষিত ব্রাউজার UUID জেনারেশন
UUID ভার্সন এবং গঠন বোঝা
একটি UUID (Universally Unique Identifier) হলো একটি ১২৮-বিট ভ্যালু যা পাঁচটি গ্রুপে (৮-৪-৪-৪-১২) ৩২টি হেক্সাডেসিমেল ডিজিট হিসেবে উপস্থাপিত হয়। ভার্সন ৪ UUID-তে ১২২টি বিটের জন্য র্যান্ডম বা সিউডো-র্যান্ডম ডেটা ব্যবহার করা হয়; বাকি বিটগুলো ভার্সন (৪) এবং ভ্যারিয়েন্ট এনকোড করে। কলিশন বা সংঘর্ষের সম্ভাবনা জ্যোতির্বিজ্ঞানের মতো কম — প্রায় ২^১২২-এ ১টি — তাই UUID-গুলো কোনো সমন্বয় ছাড়াই কার্যকরভাবে অনন্য। অন্যান্য ভার্সনও রয়েছে: v1 টাইমস্ট্যাম্প এবং MAC অ্যাড্রেস ব্যবহার করে, v3 এবং v5 হলো নাম-ভিত্তিক হ্যাশ এবং v7 হলো সময়-ক্রমিক। ডিস্ট্রিবিউটেড সিস্টেমের জন্য UUID v4 সবচেয়ে সাধারণ পছন্দ কারণ এটি জেনারেট করার জন্য কোনো কেন্দ্রীয় কর্তৃপক্ষ বা শেয়ার্ড স্টেটের প্রয়োজন হয় না।
UUID-এর জন্য ডেভেলপার ব্যবহারের ক্ষেত্র
ডেভেলপাররা ডেটাবেসে প্রাইমারি কি, ডিস্ট্রিবিউটেড ট্রেসিং-এ কোরিলেশন আইডি এবং API পেলোডে ইউনিক আইডেন্টিফায়ার হিসেবে UUID ব্যবহার করেন। অটো-ইনক্রিমেন্ট ইন্টিজারের বিপরীতে, UUID ক্লায়েন্ট-সাইড বা যেকোনো সার্ভিসের মাধ্যমে কেন্দ্রীয় ডেটাবেসের সাথে যোগাযোগ না করেই তৈরি করা যায়, যা হরিজন্টাল স্কেলিং এবং অফলাইন-ফার্স্ট আর্কিটেকচারকে সহজ করে। একাধিক সিস্টেম থেকে রেকর্ড একত্রিত করার ক্ষেত্রে এগুলো আদর্শ। UUID-গুলো OAuth স্টেট প্যারামিটার, ওয়েব হুক সিগনেচার এবং ফাইল নামকরণেও ব্যবহৃত হয় যাতে কলিশন এড়ানো যায়। টেস্টিংয়ের সময় চাহিদামতো UUID তৈরি করলে হার্ডকোডিং এড়ানো যায় এবং ফিক্সচারগুলো পুনরুৎপাদনযোগ্য হয়। এর প্রধান অসুবিধা হলো আকার (৩৬ ক্যারেক্টার) এবং সিকোয়েন্সিয়াল আইডির তুলনায় সর্ট করার ক্ষমতার অভাব।
সচরাচর জিজ্ঞাসিত প্রশ্ন
এই UUID-গুলো কি ইউনিক? +
ব্যবহারিক সব ক্ষেত্রেই, হ্যাঁ। একটি ডুপ্লিকেট তৈরি হওয়ার সম্ভাবনা অত্যন্ত নগণ্য (২^১২২ এর মধ্যে ১)।
আমি কি এগুলো প্রোডাকশনে ব্যবহার করতে পারি? +
হ্যাঁ, যখন এনভায়রনমেন্ট Web Crypto র্যান্ডমনেস প্রদান করে। যদি Web Crypto অনুপলব্ধ থাকে, তবে টুলটি দুর্বল র্যান্ডমনেস থেকে নিরাপত্তা-সদৃশ আইডেন্টিফায়ার তৈরি করার পরিবর্তে UUID জেনারেশনকে অসমর্থিত হিসেবে রিপোর্ট করে।
এটি একটি অনুমান হিসেবে ব্যবহার করুন এবং গুরুত্বপূর্ণ সিদ্ধান্তগুলো একজন যোগ্য পেশাদারের মাধ্যমে যাচাই করে নিন।
ভবিষ্যতে কোনো ফিচার স্পষ্টভাবে না জানানো পর্যন্ত ইনপুটগুলো ব্রাউজারেই থাকে।
সম্পর্কিত ক্যালকুলেটর
ফলাফল এবং অনুমানগুলো তুলনা করতে সংশ্লিষ্ট ক্যালকুলেটরগুলো দেখুন।
Epoch Time কনভার্টার
Unix টাইমস্ট্যাম্পকে UTC তারিখে রূপান্তর করুন অথবা একটি তারিখকে epoch সেকেন্ডে পরিবর্তন করুন।
বেস কনভার্সন ক্যালকুলেটর
একটি পূর্ণসংখ্যাকে বাইনারি, অক্টাল, ডেসিমাল এবং হেক্সাডেসিমালে রূপান্তর করুন।
JSON ফরম্যাটার
স্ট্রাকচার অ্যানালাইসিস সহ JSON যাচাই এবং ফরম্যাট করুন।