كيفية استخدام مولّد UUID
- اختر الإصدار والعدد والصيغة، ثم اضغط «توليد» (Generate).
- انسخ القائمة أو نزّلها كملف نصي.
- لفحص UUID موجود، الصقه في مربع التحقق واضغط «تحقّق / فكّ الترميز» (Validate / decode).
مزايا مولّد UUID
- UUID v4 (عشوائي) وv7 (مرتّب زمنياً، RFC 9562)، إضافة إلى Nil وMax
- توليد من 1 إلى 1000 معرّف دفعة واحدة بعشوائية آمنة تشفيرياً
- الصيغ: أحرف صغيرة، وأحرف كبيرة، وأقواس معقوفة {}، وبدون شرطات، وurn:uuid:، وBase64
- التحقق من أي UUID وفكّ ترميز الإصدار والمتغيّر والطابع الزمني المضمّن
- تبقى معرّفات v7 المولَّدة في الميلي ثانية نفسها مرتّبة ترتيباً صارماً
- إعادة التوليد للحصول على دفعة جديدة
مثال على مولّد UUID
فكّ ترميز UUID من الإصدار v7
الإدخال:
0190f7a4-3f9e-7c2b-9d3a-5e1b2c3d4e5fالنتيجة:
Valid ✓ · Version: v7 — Unix epoch time-ordered · Variant: RFC 4122 / 9562 · Timestamp: 2024-07-28T04:40:54.942Zالأسئلة الشائعة حول مولّد UUID
ما الفرق بين UUID v4 وv7؟
v4 يتكون من 122 بت من العشوائية — لا يمكن التنبؤ به لكنه غير مرتّب. أما v7 (RFC 9562) فيبدأ بطابع زمني Unix بالميلي ثانية بطول 48 بت، فتُرتَّب المعرّفات حسب وقت الإنشاء، مما يبقي فهارس قاعدة البيانات مضغوطة.
هل العشوائية آمنة؟
نعم. تُولَّد المعرّفات باستخدام crypto.getRandomValues في المتصفح، وهو المصدر نفسه المستخدم للمفاتيح والرموز (tokens).
هل يمكنني فكّ ترميز UUID موجود؟
الصقه في مربع التحقق واضغط «تحقّق / فكّ الترميز» (Validate / decode) لعرض إصداره ومتغيّره، وللإصدارات v1/v6/v7 الطابع الزمني المضمّن (إضافة إلى تسلسل الساعة والعقدة للإصدارين v1/v6).
ما الصيغ المتاحة؟
أحرف صغيرة، وأحرف كبيرة، وأقواس معقوفة {} (نمط Microsoft)، وبدون شرطات، وurn:uuid:، وBase64.
كم معرّفاً يمكنني توليده دفعة واحدة؟
حتى 1000 معرّف في كل ضغطة؛ واستخدم «إعادة التوليد» (Regenerate) للحصول على دفعة جديدة.
ملاحظات تقنية
يأخذ v4 16 بايتاً من crypto.getRandomValues ويكتب فوق بتات الإصدار والمتغيّر، فيبقى 122 بتاً عشوائياً. أما v7 فيكتب طابع Unix الزمني بالميلي ثانية (48 بتاً) بترتيب big-endian في البايتات الستة الأولى، ويستبدل ضمن الدفعة حقل rand_a بعدّاد من 12 بتاً يبدأ من الصفر كل ميلي ثانية (RFC 9562 §6.2، الطريقة الأولى)؛ فتختلف المعرّفات المتتالية في الميلي ثانية نفسها بواحد في المجموعة الثالثة (…-7000-، -7001-…) ولا يبقى عشوائياً سوى 62 بتاً في rand_b.
يقرأ فكّ الترميز الإصدار من الخانة السداسية الثالثة عشرة والمتغيّر من السابعة عشرة (0–7 NCS، و8–b RFC 4122/9562، وc–d Microsoft، وe–f محجوز)؛ ويُنبَّه إلى أن وصف الإصدار بلا معنى خارج متغيّر RFC. ويُعاد بناء طوابع v1 وv6 الزمنية بـ BigInt كفواصل من 100 نانوثانية منذ 15 أكتوبر 1582 (الإزاحة 0x01B21DD213814000)، ويميّز بت البث المتعدد في العقدة بين عقدة عشوائية وعنوان MAC. ويستخدم Base64 الأبجدية القياسية مع حشو «==» لا base64url؛ ولا يُتاح توليد v3 وv5.