التجزئة/التشفير
UUID Generator
توليد UUID بالإصدارات 1 و3 و4 و5 و6 و7 — عشوائية، مبنية على الوقت، ومشتقة من اسم (name-based).
A UUID (Universally Unique Identifier) is a 128-bit identifier that's unique in practice without a central registry: two independent servers can generate one at the same moment and almost never collide. The versions differ in how they're generated.
Which version to pick
- v4 — fully random, the most common choice for database record IDs, session keys, and similar cases.
- v1 and v6 — based on creation time; v6 carries the same content as v1 but with the fields reordered so it sorts naturally — handy as a primary key.
- v3 and v5 — deterministic, derived from a namespace and a name (v3 uses MD5, v5 uses SHA-1) — the same input always produces the same UUID.
- v7 — the newest standard: a millisecond Unix timestamp plus a random part, sortable by time like v1/v6, but without a MAC address.
Common uses
- Primary keys in databases where auto-increment doesn't fit (distributed systems, offline-first apps).
- Session IDs, request IDs for tracing, temporary file names.
- Deterministic IDs (v5) for objects that need the same identifier across different systems given the same name.
Things to keep in mind
UUID v1 and v6 embed the generating device's MAC address — avoid them if that's an unwanted disclosure.
The format is 32 hexadecimal characters grouped with hyphens as 8-4-4-4-12 (e.g. 550e8400-e29b-41d4-a716-446655440000).
مقالة عن هذه الأداة: UUID: كيف تُولَّد معرّفات لا تتكرر تقريبًا أبدًا
الأسئلة الشائعة
ما الفرق بين UUID v4 والإصدارات الأخرى مثل v1؟
UUID v4 يُولَّد بشكل عشوائي بالكامل تقريبًا، بينما v1 يعتمد على الوقت وعنوان الجهاز، وv3/v5 يُشتقان من اسم عبر تجزئة MD5/SHA-1، وv7 يجمع بين الترتيب الزمني والعشوائية.
ما احتمال تصادم معرّفين من نوع UUID v4؟
احتمال التصادم منخفض للغاية (يقترب من الصفر عمليًا)؛ حتى مع توليد مليارات المعرّفات فإن احتمال تكرار قيمة واحدة يظل ضئيلًا جدًا رياضيًا.
أين تُستخدم معرّفات UUID عادةً؟
تُستخدم كمعرّفات فريدة لسجلات قواعد البيانات، الجلسات، الملفات، والكائنات الموزّعة، دون الحاجة إلى منسّق مركزي لضمان عدم التكرار.
ما هو UUID v7 وبِمَ يتفوّق على v4 في قواعد البيانات؟
يضمّن UUID v7 طابعًا زمنيًا في البتات الأولى، لذا تُرتَّب القيم طبيعيًا حسب وقت الإنشاء — بخلاف v4 العشوائي بالكامل الذي يؤثر سلبًا على أداء فهارس قواعد البيانات بسبب الترتيب العشوائي لإدراج السجلات الجديدة.
هل يمكن استخدام UUID كرمز سرّي (token)؟
بالنسبة لـ UUID v4 — نعم، لأنه يُولَّد بواسطة مولّد عشوائية آمن تشفيريًا. لكن UUID v1 يكشف جزئيًا وقت الإنشاء وعنوان MAC الخاص بالجهاز، لذا لا يناسب الحالات التي تتطلّب عدم القابلية للتنبؤ.