مولّد UUID (v4 وv7 وv1)

ولّد UUID وفق RFC 9562 بالجملة: عشوائي v4 ومرتب زمنيًا v7 وبختم زمني v1 وNil وMax. بأحرف كبيرة أو أقواس أو دون شرطات، عبر crypto.getRandomValues.

حتى 1000

الإخراج

122 بتًا عشوائيًا من crypto.getRandomValues. احتمال التصادم مهمل.

ما هو مولّد UUID؟

UUID (المعرّف الفريد عالميًا) معرّف من 128 بت يُكتب بـ 32 رقمًا ست عشريًا بالصيغة 8-4-4-4-12. تولّد هذه الأداة حتى 1,000 معرّف دفعة واحدة بـ الإصدار 4 (عشوائي) أو الإصدار 7 (مرتب زمنيًا) أو الإصدار 1 (بختم زمني) أو القيمتين الخاصتين Nil وMax، وفق RFC 9562.

كيفية استخدام مولّد UUID

  1. اختر الإصدار (الإصدار 4 هو الخيار المعتاد؛ والإصدار 7 لمفاتيح قواعد البيانات).
  2. حدّد العدد المطلوب من المعرّفات.
  3. فعّل اختياريًا أحرف كبيرة، أو ألغِ شرطات، أو فعّل داخل أقواس معقوفة { }.
  4. اضغط إعادة الإنشاء لدفعة جديدة، ثم انسخ القائمة أو نزّلها.

مثال

الإدخال
Version 7, How many 2
الإخراج
01a16811-eb97-7688-838a-aa989505507e
01a16811-eb97-7689-a2db-f00f7ac48f06

يبدآن بالختم الزمني نفسه بالميلي ثانية؛ ويجعل العدّاد الثاني يُرتَّب بعد الأول. ستختلف قيمك.

متى تستخدم مولّد UUID

استخدم v4 للمعرّفات الفريدة العامة (موارد API وأسماء الملفات ومعرّفات الارتباط). واستخدم v7 لمفاتيح قواعد البيانات الأساسية، لأن القيم المرتبة زمنيًا تُبقي فهارس B-tree مدمجة. تجنّب v1 إلا إذا اشترطه نظام، ولا تستخدم UUID أبدًا كأسرار أو رموز وصول: فهي فريدة وليست سرية.

كيف يعمل مولّد UUID

v4: 16 بايتًا عشوائيًا من crypto.getRandomValues؛ يُضبط نصف البايت الخاص بالإصدار على 4 وبتّا النوع على 10، فيبقى 122 بتًّا عشوائيًا. v7: أول 48 بتًّا هي وقت Unix الحالي بالميلي ثانية (big-endian)، يليها الإصدار وعدّاد من 12 بتًّا (لتبقى المعرّفات المنشأة في الميلي ثانية نفسها مرتبة) و62 بتًّا عشوائيًا. v1: عدد من 60 بتًّا لفترات 100 نانو ثانية منذ 15 أكتوبر 1582، وتسلسل ساعة من 14 بتًّا ومعرّف عقدة من 48 بتًّا؛ وتستخدم الأداة عقدة عشوائية مع ضبط بت البث المتعدد (كما يسمح RFC 9562) بدل عنوان MAC الخاص بك. ويُفكّ الختم الزمني المضمَّن في v1/v7 ويُعرض أسفل القائمة.

حالات الاستخدام الشائعة

  • إنشاء مفاتيح أساسية لصفوف قواعد البيانات أو بيانات الاختبار
  • توليد معرّفات الطلبات أو الارتباط للسجلات
  • تسمية الملفات المرفوعة دون تصادم
  • تعبئة بيانات تجريبية بمعرّفات فريدة

الأسئلة الشائعة

هل يمكن أن تتصادم قيمتا UUID v4؟

نظريًا نعم، وعمليًا لا: مع 122 بتًّا عشوائيًا تحتاج إلى توليد نحو 2.7 × 10^18 معرّفًا لتبلغ فرصة تكرار واحد 50%.

ما الفرق بين UUID v4 وv7؟

v4 عشوائي بالكامل. أما v7 فيبدأ بختم زمني، فتُرتَّب القيم الأحدث بعد الأقدم، وهذا أفضل لفهارس قواعد البيانات ويتيح قراءة وقت الإنشاء.

هل UUID هو نفسه GUID؟

نعم. GUID هو اسم Microsoft للصيغة نفسها ذات الـ 128 بت. استخدم مولّد GUID للصيغ الخاصة بـ Windows مثل أقواس السجل.

هل يكشف v1 عنوان MAC الخاص بي؟

ليس هنا. يُملأ حقل العقدة ببايتات عشوائية ويُضبط بت البث المتعدد للدلالة على أنه ليس عتاديًا.

الخطوات التالية المقترحة

استكشف المزيد من الفئات