مولّد UUID
ولِّد معرِّفات UUID عشوائية من الإصدار 4 — واحدًا أو حتى 100 في المرة الواحدة — باستخدام العشوائية التشفيرية لمتصفحك. انسخها فرديًا أو كلها دفعة واحدة.
ما هو UUID الإصدار 4؟
UUID (المعرِّف الفريد عالميًا) هو رقم من 128 بتة يُكتَب كـ32 رقمًا سداسي عشري في خمس مجموعات مفصولة بواصلات، مثل 550e8400-e29b-41d4-a716-446655440000. تُبنى معرِّفات UUID من الإصدار 4 من بيانات عشوائية: 122 من أصل 128 بتة عشوائية، و6 بتات ثابتة لتحديد الإصدار (الرقم 4 في المجموعة الثالثة) والمتغيِّر (8 أو 9 أو a أو b في بداية المجموعة الرابعة).
احتمال التطابق ضئيل للغاية. توجد نحو 5.3 × 10^36 معرِّف UUID محتمل من الإصدار 4، لذا ستحتاج إلى توليد مليار معرِّف كل ثانية لنحو 85 عامًا قبل أن تصل حتى إلى احتمال 50% لحدوث تطابق واحد — وهذا هو سبب استخدام معرِّفات UUID كمفاتيح قواعد بيانات ومعرِّفات طلبات وأسماء ملفات دون أي تنسيق مركزي.
تستخدم هذه الأداة واجهة برمجة Web Crypto (crypto.randomUUID، مع الرجوع إلى crypto.getRandomValues)، لذا يأتي كل معرِّف UUID من مولِّد أرقام عشوائية آمن تشفيريًا ويُنشَأ بالكامل داخل متصفحك.
الأسئلة الشائعة
- ما هو UUID الإصدار 4؟
- UUID (المعرِّف الفريد عالميًا) هو معرِّف من 128 بتة يُكتَب كـ32 رقمًا سداسي عشري في خمس مجموعات مفصولة بواصلات، مثل 550e8400-e29b-41d4-a716-446655440000. تُولَّد معرِّفات UUID من الإصدار 4 من بيانات عشوائية — 122 من أصل 128 بتة عشوائية، بينما 6 بتات ثابتة لتحديد الإصدار والمتغيِّر.
- هل يمكن أن يتطابق معرِّفا UUID مُولَّدان؟
- نظريًا نعم، عمليًا لا. مع 122 بتة عشوائية، توجد نحو 5.3 أنديسيليون (5.3 × 10^36) معرِّف UUID محتمل من الإصدار 4. ستحتاج إلى توليد نحو مليار معرِّف UUID كل ثانية لنحو 85 عامًا للوصول حتى إلى احتمال 50% لتطابق واحد.
- هل العشوائية آمنة تشفيريًا؟
- نعم. تُولَّد معرِّفات UUID باستخدام واجهة Web Crypto في المتصفح (crypto.randomUUID، مع الرجوع إلى crypto.getRandomValues)، التي تستخدم مولِّد أرقام عشوائية آمن تشفيريًا — لا الدالة القابلة للتنبؤ Math.random.
- هل تُولَّد معرِّفات UUID على خادم؟
- لا. كل شيء يعمل محليًا داخل متصفحك، لذا لا تنتقل معرِّفات UUID عبر الشبكة أبدًا ولا يمكن لأحد تسجيلها. تُنتِج إعادة تحميل الصفحة مجموعة جديدة تمامًا وغير مرتبطة.
- ما فائدة خياري الأحرف الكبيرة وبلا واصلات؟
- بعض الأنظمة تخزِّن أو تقارن معرِّفات UUID بأحرف كبيرة، وبعضها (مثل قواعد بيانات وواجهات برمجة تطبيقات معيَّنة) يتوقع الشكل المكوَّن من 32 حرفًا بلا واصلات. تُعيد الخيارات تنسيق القيمة الأساسية نفسها — حالة الأحرف والواصلات لا تغيِّر هوية معرِّف UUID وفق RFC 4122، الذي يعاملها كمتكافئة.