tigtools

مولّد UUID

أنشئ معرّفات فريدة عالميًا في متصفحك، دفعة واحدة وبالتنسيق الذي تحتاجه. الصق UUID موجودًا أدناه للتحقق من إصداره ونوعه.

تعمل في متصفحك لا يلزم التسجيل

الإصدار

122 بت عشوائيًا من مولّد الأرقام العشوائية المشفّر في متصفحك. الخيار الأنسب للاستخدامات العامة.

    التحقق من UUID

    كيفية الاستخدام

    1. اختر v4 للمعرّفات العشوائية، أو v7 للمعرّفات المرتبة حسب وقت الإنشاء.
    2. حدد العدد المطلوب (من 1 إلى 1,000)، واختر التنسيق: أحرف كبيرة، مع واصلات أو من دونها، ومع أقواس أو من دونها.
    3. انسخ UUID واحدًا باستخدام زر النسخ الخاص به، أو انسخها كلها، أو نزّلها في ملف نصي يتضمن UUID واحدًا في كل سطر.
    4. للتحقق من UUID موجود، الصقه في «التحقق من UUID».

    كيف تعمل الأداة

    UUID (ويُسمّى أيضًا GUID) هو معرّف بطول 128 بت، ويُكتب عادةً على هيئة 32 رقمًا ست عشريًا في خمس مجموعات: 8-4-4-4-12. الرقم الأول في المجموعة الثالثة هو رقم الإصدار، والرقم الأول في المجموعة الرابعة يحدد النوع (8 أو 9 أو a أو b في UUIDs القياسية). يحدد RFC 9562 هذا التنسيق، وقد حلّ محل RFC 4122 في عام 2024.

    إصدار UUID v4 عشوائي. تستخدم هذه الأداة crypto.randomUUID عند توفره، وإلا فتستخدم crypto.getRandomValues، وكلاهما آمن تشفيريًا؛ ولا تستخدم Math.random مطلقًا. ومع وجود 122 بت عشوائيًا، فإن احتمال تصادم UUIDين من الإصدار v4 ضئيل للغاية: يلزم إنشاء نحو 2.7 × 10^18 منها لتبلغ فرصة حدوث تكرار واحد 50%.

    تبدأ UUIDs من الإصدار v7 بطابع زمني Unix بطول 48 بت بالمللي ثانية، يليه رقم الإصدار وحقل بطول 12 بت و62 بت عشوائيًا. وبما أن الوقت يأتي أولًا، تُرتَّب قيم v7 حسب وقت إنشائها، ما يحافظ على صغر حجم فهارس قواعد البيانات ويجعل الإدراج أسرع مقارنةً بمفاتيح v4 العشوائية. وعند إنشاء عدة UUIDs من الإصدار v7 في المللي ثانية نفسها، تستخدم هذه الأداة الحقل ذي 12 بت عدّادًا (وفق الطريقة الموضحة في القسم 6.2 من RFC 9562)، لذا يكون ترتيب مجموعة UUIDs تصاعديًا دائمًا. تجدر الإشارة إلى أن UUID من الإصدار v7 يكشف وقت إنشائه.

    تقبل أداة التحقق UUIDs مع الواصلات أو من دونها، وبالأحرف الكبيرة أو الصغيرة، وبين أقواس معقوفة، أو مسبوقة بـ urn:uuid:. وتعرض الإصدار والنوع، وتتعرّف على UUIDs الخاصة nil وmax، كما تعرض وقت الإنشاء المضمّن في الإصدارات 1 و6 و7.

    أمثلة

    مفاتيح أساسية لجدول جديد

    أنشئ 100 UUID من الإصدار v7 لبيانات الاختبار، مثل 0192b3c4-5d6e-7f80-9a1b-2c3d4e5f6a7b. تُرتَّب حسب وقت الإنشاء، لذا تحصل الصفوف التي تُدرج لاحقًا على مفاتيح أكبر، كما هو الحال مع عمود الترقيم التلقائي.

    GUID لمشروع Windows أو .NET

    فعّل خياري الأحرف الكبيرة والأقواس المعقوفة للحصول على تنسيق السجل {3F2504E0-4F89-41D3-9A0C-0305E82C3301} المستخدم في ملفات مشاريع Visual Studio ومعرّفات فئات COM وسجل Windows.

    التحقق من معرّف في سجل

    الصق 018f6e2c-1a2b-7c3d-8e4f-5a6b7c8d9e0f في أداة التحقق. ستعرض الإصدار 7 والنوع القياسي، وستفك ترميز أول 12 رقمًا على أنها طابع زمني في مايو 2024، ما يبيّن وقت إنشاء السجل.

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

    هل أستخدم UUID v4 أم v7؟

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

    هل هذه UUIDs فريدة فعلًا؟

    لا يجري التحقق منها بمقارنتها بأي قائمة، لكنها تُنشأ باستخدام مولّد أرقام عشوائية آمن تشفيريًا، لذا فإن احتمال التكرار ضئيل إلى درجة يمكن تجاهلها في الأنظمة الفعلية. وتتضمن قيم v7 الوقت الحالي أيضًا.

    هل UUID هو نفسه GUID؟

    نعم. GUID (المعرّف الفريد عالميًا) هو الاسم الذي تستخدمه Microsoft للتنسيق نفسه ذي 128 بت. وغالبًا ما تُعرض GUIDs بأحرف كبيرة وبين أقواس، ويمكنك تفعيل ذلك هنا.

    هل يمكنني استخدام UUID كلمة مرور أو رمزًا سريًا؟

    يتضمن UUID من الإصدار v4 عدد 122 بت عشوائيًا، ما يجعل تخمينه صعبًا، لكن UUIDs مصممة لتكون معرّفات لا أسرارًا، وغالبًا ما تظهر في السجلات وروابط URL. استخدم مولّدًا مخصصًا للرموز العشوائية لمفاتيح API أو روابط إعادة التعيين.

    هل يستخدم الطابع الزمني في v7 ساعة حاسوبي؟

    نعم. يُقرأ الوقت من ساعة جهازك بتوقيت UTC وبالمللي ثانية. إذا كانت الساعة غير مضبوطة، فسيكون الوقت المضمّن غير صحيح، لكن المعرّفات ضمن المجموعة الواحدة ستظل مرتبة تصاعديًا.

    الخصوصية

    تُنشأ UUIDs في متصفحك باستخدام مولّد الأرقام العشوائية المشفّر الخاص به. ولا تُرسل إلى خادم، ولا تُخزّن أو تُسجّل، لذا لا يمكن لأي جهة أخرى الاطلاع على القيم التي تنشئها أو تتحقق منها.