مولّد UUID والتحقق منه

أنشئ معرّفات UUID عشوائية تشفيريًا من الإصدار v4 أو قابلة للترتيب من الإصدار v7، واحدًا أو ألفًا في كل مرة، وافحص أي UUID أو GUID لمعرفة إصداره وطابعه الزمني المضمَّن.

يعمل في متصفحكبدون تسجيللا يُرفع شيء

معرّفات UUID المُنشأة

طريقة استخدام مولّد UUID

  1. اختر v4 لمعرّف عشوائي بالكامل أو v7 لمعرّفات تُرتَّب حسب وقت الإنشاء.
  2. حدد العدد الذي تحتاجه (حتى 1,000) وانقر إنشاء.
  3. يمكنك اختياريًا التحويل إلى أحرف كبيرة، أو إزالة الشرطات، أو الإحاطة بأقواس معقوصة لمعرّفات GUID بأسلوب Microsoft.
  4. انقر على UUID الكبير لنسخه، أو استخدم نسخ الكل / تنزيل ‎.txt للدفعة.
  5. الصق أي UUID في أداة الفحص للتحقق منه وقراءة إصداره ومتغيّره وطابعه الزمني.

ما هو UUID؟

UUID ‏(Universally Unique Identifier)، ويُسمّى GUID على منصات Microsoft، هو قيمة من 128 بت تُكتب كـ 32 رقمًا ست عشريًا في خمس مجموعات: 8-4-4-4-12. الصيغة معرّفة في RFC 9562، الذي حلّ محل RFC 4122 في 2024. يرمّز رقم واحد الإصدار (الرقم الست عشري الثالث عشر)، وترمّز البتات العليا من الرقم السابع عشر المتغيّر.

UUID v4 مقابل UUID v7

v4v7
المحتوى122 بت عشوائيطابع زمني Unix بالمللي ثانية من 48 بت + 74 بت عشوائي
ترتيب الفرزعشوائيزمني
فهرس قاعدة البياناتالإدراجات العشوائية تجزّئ فهارس B-treeيُلحق في النهاية، وهو أنسب بكثير للفهارس
يكشف وقت الإنشاءلانعم

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

ما مدى تفرّدها؟

مع 122 بت عشوائي، ستحتاج إلى إنشاء نحو 2.7 كوينتيليون UUID من الإصدار v4 قبل الوصول إلى احتمال 50% لتصادم واحد. تستخدم هذه الصفحة مولّد الأرقام العشوائية الآمن تشفيريًا في المتصفح (crypto.getRandomValues)، ولا تستخدم أبدًا Math.random().

إنشاء UUID في الكود

// JavaScript (browsers, Node 19+)
crypto.randomUUID()
# Python
import uuid; uuid.uuid4()
-- PostgreSQL 13+
SELECT gen_random_uuid();

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

هل معرّفات UUID هذه آمنة للاستخدام في الإنتاج؟
نعم. تُنشأ محليًا باستخدام مولّد الأرقام العشوائية الآمن في Web Crypto API وتتبع RFC 9562. لا يُرسل أي شيء إلى خادم ولا يُسجَّل.
ما الفرق بين UUID وGUID؟
هما الشيء نفسه. GUID هو اسم Microsoft وغالبًا ما يُكتب بأحرف كبيرة مع أقواس معقوصة، مثل {3F2504E0-4F89-11D3-9A0C-0305E82C3301}. استخدم الخيارات أعلاه لإنتاج هذه الصيغة.
هل يمكنني الحصول على وقت الإنشاء من UUID؟
فقط للإصدارات القائمة على الوقت. يخزّن v7 المللي ثانية بتوقيت Unix في أول 48 بت، ويخزّن v1 وv6 طابعًا زمنيًا بوحدات 100 نانوثانية. الصق واحدًا في أداة الفحص لرؤية التاريخ. أما v4 فلا يحتوي على أي معلومات زمنية.
هل أستخدم UUID كمفاتيح أساسية في قاعدة البيانات؟
تعمل جيدًا للأنظمة الموزعة والمعرّفات العامة. فضّل v7 على v4 لتقع الصفوف الجديدة في نهاية الفهرس، وخزّنها في عمود uuid أصلي أو عمود ثنائي من 16 بايت بدلًا من سلسلة من 36 حرفًا.
ما هو UUID الصفري (nil)؟
القيمة الصفرية بالكامل 00000000-0000-0000-0000-000000000000، وتُستخدم كعنصر نائب يعني “لا يوجد UUID”. ويعرّف RFC 9562 أيضًا UUID الأقصى (max) المكوّن بالكامل من f.

أدوات ذات صلة