مولّد UUID والتحقق منه
أنشئ معرّفات UUID عشوائية تشفيريًا من الإصدار v4 أو قابلة للترتيب من الإصدار v7، واحدًا أو ألفًا في كل مرة، وافحص أي UUID أو GUID لمعرفة إصداره وطابعه الزمني المضمَّن.
يعمل في متصفحكبدون تسجيللا يُرفع شيء
طريقة استخدام مولّد UUID
- اختر v4 لمعرّف عشوائي بالكامل أو v7 لمعرّفات تُرتَّب حسب وقت الإنشاء.
- حدد العدد الذي تحتاجه (حتى 1,000) وانقر إنشاء.
- يمكنك اختياريًا التحويل إلى أحرف كبيرة، أو إزالة الشرطات، أو الإحاطة بأقواس معقوصة لمعرّفات GUID بأسلوب Microsoft.
- انقر على UUID الكبير لنسخه، أو استخدم نسخ الكل / تنزيل .txt للدفعة.
- الصق أي UUID في أداة الفحص للتحقق منه وقراءة إصداره ومتغيّره وطابعه الزمني.
ما هو UUID؟
UUID (Universally Unique Identifier)، ويُسمّى GUID على منصات Microsoft، هو قيمة من 128 بت تُكتب كـ 32 رقمًا ست عشريًا في خمس مجموعات: 8-4-4-4-12. الصيغة معرّفة في RFC 9562، الذي حلّ محل RFC 4122 في 2024. يرمّز رقم واحد الإصدار (الرقم الست عشري الثالث عشر)، وترمّز البتات العليا من الرقم السابع عشر المتغيّر.
UUID v4 مقابل UUID v7
| v4 | v7 | |
|---|---|---|
| المحتوى | 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 هذه آمنة للاستخدام في الإنتاج؟
ما الفرق بين UUID وGUID؟
{3F2504E0-4F89-11D3-9A0C-0305E82C3301}. استخدم الخيارات أعلاه لإنتاج هذه الصيغة.هل يمكنني الحصول على وقت الإنشاء من UUID؟
هل أستخدم UUID كمفاتيح أساسية في قاعدة البيانات؟
uuid أصلي أو عمود ثنائي من 16 بايت بدلًا من سلسلة من 36 حرفًا.ما هو UUID الصفري (nil)؟
00000000-0000-0000-0000-000000000000، وتُستخدم كعنصر نائب يعني “لا يوجد UUID”. ويعرّف RFC 9562 أيضًا UUID الأقصى (max) المكوّن بالكامل من f.