دليل مولد UUID: v4 وv7 ونطاقات الأسماء وتنسيقات GUID
ToolMellow ·
UUID معرّف من 128 بتًا له قواعد إصدار وفئة محددة. ينشئ ToolMellow v1 وv3 وv4 وv5 وv6 وv7 والقيمتين الثابتتين Nil وMax. اختر «إصدار UUID» و«تنسيق UUID»، واضبط الدفعة أو قائمة الأسماء، ثم اضغط «أنشئ UUID». يجري الإنشاء محليًا في عامل متصفح.
للإصدارات أغراض مختلفة: معرّفات عشوائية أو زمنية أو قابلة للتكرار بنطاق أسماء واسم. يشرح الدليل الخيارات الفعلية والحدود. لا يصبح UUID تلقائيًا رمز تفويض أو كلمة مرور أو قيمة فريدة تحققت عالميًا أو دليلًا على زمن حدث حقيقي. الأمثلة ثابتة للتوضيح، وليست معرّفات إنتاج جديدة.
كيفية إنشاء UUID أو دفعة
افتح مولد UUID، واختر الإصدار والتنسيق، وفعّل عند الحاجة «UUID بأحرف كبيرة» أو «إخراج مصفوفة JSON». الافتراضي v4. في الأنماط العشوائية والزمنية وNil وMax، اختر عددًا صحيحًا من 1 إلى 1,000. في v3/v5 أدخل الأسماء واختر نطاقًا بدلًا منه؛ لا يتحكم العدد في الناتج المعتمد على الاسم.
اضغط «أنشئ UUID»، وافحص الإصدار والتمثيل والقيم قبل النسخ أو التنزيل. يُبطل تغيير الإدخال أو أي خيار النتيجة القديمة. «التفاف الأسطر» للعرض فقط. لا يوجد إجراء «استخدم النتيجة كإدخال» في UUID؛ انسخ القيم يدويًا إذا احتاجها تطبيق آخر.
- استخدم إصدار تطبيقك المطلوب، لا إصدارًا آخر لمجرد إعجابك بالناتج.
- وثق النطاق وتمثيل الاسم عند الحاجة إلى التكرار.
- احفظ التنسيق وشروط الساعة للمعرّفات الزمنية؛ لا تعتبر UUID قرار مصادقة.
اختر v1 أو v3 أو v4 أو v5 أو v6 أو v7
RFC 9562 معيار UUID الحالي ويحل محل RFC 4122. يوفر ToolMellow الإصدارات الستة أدناه وثابتين خاصين. لا يولد الإصدار 2 أو تخطيطات الإصدار 8 المخصصة. تغيير التنسيق النصي لا يغير الإصدار أو بتات المعرّف الأصلية.
يحدد الإصدار طريقة البناء، لا ضمانًا للتفرّد العالمي أو السرية أو التوافق مع كل مستهلك. قد تفرض قاعدة بيانات أو بروتوكول إصدارات وتمثيلات خاصة. تنشئ الصفحة معرّفات؛ ولا تستعلم عن سجل، ولا تتصل بقاعدة بيانات، ولا تقيس أداء الفهرسة.
| النمط | البناء في الأداة | حد مفيد |
|---|---|---|
| v4 | عشوائية تشفيرية | معرّف عشوائي، لا طابع زمن أو نظام رمز سري تلقائي |
| v7 | وقت Unix مع حقول عداد وعشوائية للمكتبة | زمني، الترتيب محدود بالساعة والعامل |
| v1 | طابع ميلادي وتسلسل ساعة وعقدة عشوائية | يكشف الزمن؛ لا يقرأ التنفيذ MAC الجهاز |
| v6 | طابع ميلادي معاد الترتيب وعقدة وتسلسل عشوائيين | يوضع حقل الزمن أبكر من v1؛ وقواعد التخزين مهمة |
| v5 | نطاق واسم UTF-8 دقيق بـSHA-1 | حتمي، لا مصادقة بمفتاح |
| v3 | نطاق واسم UTF-8 دقيق بـMD5 | بناء حتمي قديم، لا تخزين كلمات مرور |
| Nil | UUID صفري ثابت | ثابت متكرر، لا تخصيص فريد جديد |
| Max | UUID ثابت كل بتاته واحد | ثابت متكرر، لا تخصيص فريد جديد |
RFC 9562: المعرّفات الفريدة عالميًا وتخطيطاتها ونطاقاتها وأمثلتهاuuid.js 14.0.2: واجهات توليد UUID وإدارة الحالة
تخطيط UUID والإصدار والفئة ومصطلح GUID
يحتوي UUID النصي القياسي على 32 محرفًا سداسيًا وأربع شرطات: مجموعات 8-4-4-4-12، بإجمالي 36 محرفًا. في الإصدارات العادية هنا يحدد أول محرف في المجموعة الثالثة الإصدار. تؤثر بتات الفئة في بداية المجموعة الرابعة، وغالبًا تكون 8 أو 9 أو a أو b. Nil وMax حالتان خاصتان، وليستا توليد v0 أو v15 عاديين.
GUID مصطلح شائع لمعرّف بأسلوب UUID. يضيف خيار «أقواس معقوفة · GUID» أقواسًا للنص فقط، ولا ينتج بنية Windows ثنائية أو يغير ترتيب البايتات. الأحرف الكبيرة تغير العرض السداسي فقط. لا يثبت نص معقول الصياغة من أنشأه أو يمنح الوصول.
RFC 9562: المعرّفات الفريدة عالميًا وتخطيطاتها ونطاقاتها وأمثلتها
UUID v4: العشوائية وحدود التصادم
يحجز v4 العادي بتات الإصدار والفئة ويستخدم العشوائية للـ122 بتًا الأخرى. تتطلب مسارات العشوائية والزمن في الأداة قيمًا عشوائية تشفيرية. قد تستخدم المكتبة crypto.randomUUID الأصلية لـv4 عند توفرها، وإلا تستخدم تنفيذ القيم العشوائية التشفيرية. لا يوجد بديل Math.random.
تجعل العشوائية التصادم العرضي غير مرجح تحت افتراضات مناسبة، ولا تضمن أن كل معرّف غير مستخدم عالميًا. لا تفحص الأداة التكرار خارجيًا. إذا احتاج التطبيق التفرّد، فطبّق قواعد التخصيص والتخزين الفعلية بدل اعتبار قيمة متصفح حجزًا عالميًا.
RFC 9562: المعرّفات الفريدة عالميًا وتخطيطاتها ونطاقاتها وأمثلتهاuuid.js 14.0.2: واجهات توليد UUID وإدارة الحالةW3C Web Cryptography API: قيم عشوائية تشفيرية
حقول الزمن وساعة الجهاز وترتيب الدفعة
يستخدم v1/v6 تخطيطات طابع زمني ميلادي بوحدات 100 نانوثانية؛ ويعيد v6 ترتيب الحقول. يستند التنفيذ إلى ساعة جهاز بالمللي ثانية، لذا لا تثبت الوحدة دقة قياس 100 نانوثانية. يبدأ v7 بمللي ثواني Unix، ويجمع حقول التسلسل والعداد التي تديرها المكتبة مع العشوائية؛ وليست كل البتات المتبقية عشوائية مستقلة في هذا التنفيذ.
تدير مكتبة العامل حالة الساعة والعداد خلال المهمة، بما فيها معالجة v7 للوقت المتكرر أو المتراجع. لكل تشغيل عامل جديد، فلا تُشارك الحالة عبر النقرات أو التبويبات أو الأجهزة. قد يعكس الوقت المفكوك معالجة المكتبة لا ساعة واقعية موثوقة. لا ضمان لترتيب رتيب عبر الدفعات أو موزع، وتُرفض قيم ساعة الجهاز غير المدعومة.
RFC 9562: المعرّفات الفريدة عالميًا وتخطيطاتها ونطاقاتها وأمثلتهاuuid.js 14.0.2: واجهات توليد UUID وإدارة الحالةWHATWG HTML: العمال ودورة حياتهم
ما قد يكشفه UUID عن الزمن والهوية
يكشف v1/v6/v7 معلومات زمنية. يستخدم v1/v6 هنا حقول عقدة عشوائية، ولا يقرأ عنوان MAC لمحول الشبكة. قد يختار تنفيذ آخر مصدرًا مختلفًا للعقدة؛ وهذا لا يجعل القيم الزمنية مجهولة الهوية.
لا يوجد حقل وقت إنشاء معرف في v4، وقد يكشف v3/v5 علاقات عبر تكرار النطاق والاسم أو التخمين. لا تثبت أي قيمة تلقائيًا الهوية أو السرية أو الملكية. أبق الأسماء الحقيقية الحساسة خارج الأمثلة المشتركة، وصمم تفويض التطبيق مستقلًا عن التنسيق.
RFC 9562: المعرّفات الفريدة عالميًا وتخطيطاتها ونطاقاتها وأمثلتهاuuid.js 14.0.2: واجهات توليد UUID وإدارة الحالة
v3/v5 حسب الاسم: الأسطر الحرفية والتكرار
يعامل محرر v3/v5 كل سطر تفصله CRLF أو CR أو LF كاسم واحد. تُحفظ الأسطر الفارغة والاسم الفارغ الأخير والمسافات وحالة الأحرف والتكرار. ينتج عن محرر فارغ UUID لاسم فارغ واحد، وليس دفعة بلا عناصر. لا يتحكم العدد في هذين النمطين؛ الحد 1,000 سطر اسم و1,000,000 وحدة UTF-16.
ينتج الإصدار والنطاق واسم UTF-8 الدقيق نفسها UUID نفسه. تُرفض الوحدات البديلة غير المقترنة، ولا تطبّع الأداة Unicode أو تحذف مسافات الاسم. قد تغير الأشكال المطبّعة المتشابهة ظاهرًا أو المسافة الأخيرة البايتات. MD5 وSHA-1 هنا يبنيان UUID الاسم المعياري، لا بصمات كلمات مرور أو تشفيرًا أو مصادقة بمفتاح.
RFC 9562: المعرّفات الفريدة عالميًا وتخطيطاتها ونطاقاتها وأمثلتهاWHATWG Encoding: UTF-8 وفك النصECMAScript: String isWellFormeduuid.js 14.0.2: واجهات توليد UUID وإدارة الحالة
DNS وURL وOID وX.500 والنطاق المخصص
يختار «نطاق الأسماء» قيمة UUID مع كل اسم. DNS الافتراضي، وتوفر URL وOID وX.500 الثوابت الأخرى أدناه. لا يحل اسم الخيار DNS، ولا يجلب URL، ولا يطبّع نطاقًا، ولا يتحقق من OID، ولا يحلل اسم X.500 المميز. يمرر النص الحرفي UTF-8 للبناء المختار؛ اتبع أي قواعد تمثيل إضافية لتطبيقك.
يتطلب «UUID مخصص» نطاقًا صالحًا قياسيًا بشرطات. تُقبل الأحرف السداسية الكبيرة، ويقبل تحقق المكتبة Nil وMax أيضًا. لا يقبل حقل النطاق التنسيق المختصر أو الأقواس أو URN. يعيد «مسح» النطاق المخصص إلى DNS الافتراضي؛ ولا يغير القيم التي نزّلتها سابقًا.
| الخيار | UUID لنطاق الأسماء |
|---|---|
| DNS | 6ba7b810-9dad-11d1-80b4-00c04fd430c8 |
| URL | 6ba7b811-9dad-11d1-80b4-00c04fd430c8 |
| OID | 6ba7b812-9dad-11d1-80b4-00c04fd430c8 |
| X.500 | 6ba7b814-9dad-11d1-80b4-00c04fd430c8 |
RFC 9562: المعرّفات الفريدة عالميًا وتخطيطاتها ونطاقاتها وأمثلتهاuuid.js 14.0.2: واجهات توليد UUID وإدارة الحالة
أمثلة نطاق DNS معلومة
مع نطاق DNS والاسم الدقيق www.example.com، تعيد القيم القياسية الصغيرة أدناه أمثلة RFC للأسماء. اختيار DNS لا يسبب استعلام شبكة. لا تحوّل الأداة نطاقًا مكتوبًا بأحرف كبيرة إلى صغيرة بصمت؛ إنه اسم حرفي آخر.
افحص الإصدار والنطاق بهذه الأمثلة الثابتة قبل تشخيص قواعد الأسماء الحقيقية. تنتج الأسطر المتكررة قيمًا متكررة في v3/v5. النتيجة الحتمية مفيدة للقواعد المتفق عليها، لا دليلًا على مقاومة التصادم لكل استخدام أو شهادة ملكية الاسم.
| الإصدار | الاسم الدقيق | الناتج القياسي |
|---|---|---|
| v3 | www.example.com | 5df41881-3aed-3515-88a7-2f4a814cf09e |
| v5 | www.example.com | 2ed6657d-e927-568b-95e1-2665a8aea6a2 |
RFC 9562: المعرّفات الفريدة عالميًا وتخطيطاتها ونطاقاتها وأمثلتها
النص القياسي والمختصر والأقواس وURN وJSON
يغير محدد التنسيق التمثيل، لا بتات UUID. يعرض الجدول قيمة v5 ثابتة بأربعة تنسيقات. تغير الأحرف الكبيرة المحارف السداسية؛ وتظل بادئة URN هي urn:uuid:. تأكد من قبول النظام المستقبِل للكتابة؛ لا ينفذ هذا المنسّق تسلسل GUID ثنائيًا أو تحويل قاعدة بيانات.
ينتج «إخراج مصفوفة JSON» مصفوفة سلاسل بمسافات بادئة حسب التنسيق؛ وإلا تُفصل القيم بأسطر جديدة. يحفظ التنزيل toolmellow-result.json مع JSON، أو toolmellow-result.txt بدونه؛ وكلاهما نص UTF-8. تغيّر الخيارات يبطل النتيجة القديمة، فأنشئ نتيجة جديدة بعد اختيار التنسيق.
| التنسيق | محارف القيمة الواحدة | مثال |
|---|---|---|
| قياسي | 36 | 2ed6657d-e927-568b-95e1-2665a8aea6a2 |
| مختصر | 32 | 2ed6657de927568b95e12665a8aea6a2 |
| أقواس معقوفة · GUID | 38 | {2ed6657d-e927-568b-95e1-2665a8aea6a2} |
| URN | 45 | urn:uuid:2ed6657d-e927-568b-95e1-2665a8aea6a2 |
RFC 9562: المعرّفات الفريدة عالميًا وتخطيطاتها ونطاقاتها وأمثلتهاuuid.js 14.0.2: واجهات توليد UUID وإدارة الحالة
Nil وMax وما لا يثبته التحقق
Nil هي 00000000-0000-0000-0000-000000000000، وMax هي ffffffff-ffff-ffff-ffff-ffffffffffff، وهما قيمتان خاصتان ثابتتان. اختيار العدد اثنين لأي منهما يكرر الثابت مرتين، لا يولد معرّفين فريدين جديدين. لا تخلطهما بقيمة عشوائية أو إصدار عادي.
لا يثبت UUID صالح الصياغة أو نمط الإصدار والفئة أنه غير مخصص أو سري أو صادر من جهة مخولة أو آمن كقدرة حساب. تُتوقع قيم الأسماء من المدخلات، وتكشف القيم الزمنية وقتًا. لا توفر الأداة سجل تفرّد أو دورة حياة رمز دخول أو توقيعًا رقميًا أو خدمة مصادقة UUID.
RFC 9562: المعرّفات الفريدة عالميًا وتخطيطاتها ونطاقاتها وأمثلتها
الحدود وقدرات المتصفح وتشخيص الأخطاء
للأنماط العشوائية والزمنية وNil وMax عدد صحيح 1 إلى 1,000. تحد أنماط الأسماء الأسطر منفصلة، وإجمالي الإدخال مليون وحدة UTF-16. تُرفض ملفات النص المحلية عند 4,000,000 بايت أو أكثر، والنص المتجاوز للحد. يزيل File.text() BOM في بداية UTF-8 ويستبدل UTF-8 غير السليم؛ وقد يغير التحرير فواصل الأسطر. النص المستورد ليس مصدر أسماء يحفظ البايتات الخام.
تحتاج العشوائية والزمن إلى crypto.getRandomValues. تتطلب randomUUID الأصلية سياقًا آمنًا، لكن المكتبة يمكنها استخدام قيم عشوائية تشفيرية بدونها؛ ولا تحتاج الأسماء والثوابت إلى العشوائية أو crypto.subtle. لا تعمم رسالة قدرة أداة بصمات SHA على كل نمط UUID. قد تمنع قيود العامل والمتصفح والمنصة الإنشاء مع ذلك.
| العَرَض | الفحص التالي |
|---|---|
| نطاق غير صالح | استخدم UUID صالحًا من 36 محرفًا بشرطات |
| تكرار v3/v5 غير متوقع | افحص التكرار والفراغ وتطابق النطاق والاسم |
| عدد أسماء غير صحيح | كل سطر اسم؛ يضيف السطر الأخير الفارغ اسمًا |
| خطأ عشوائية أو ساعة | افحص القدرة المطلوبة أو ساعة الجهاز الفعلية |
| نتيجة غير متوقعة بعد الاستيراد | افحص حذف BOM واستبدال UTF-8 والفواصل وبايتات الأسماء |
W3C Web Cryptography API: قيم عشوائية تشفيريةuuid.js 14.0.2: واجهات توليد UUID وإدارة الحالةW3C File API: قراءة Blob كنصWHATWG Encoding: UTF-8 وفك النصWHATWG HTML: العمال ودورة حياتهم
المسح والإنشاء المحلي وطلبات الموقع
يزيل «مسح» الأسماء والإدخال والنتيجة والأخطاء والسجل، ويعيد النطاق المخصص إلى DNS. يحتفظ بالإصدار والعدد والتنسيق والأحرف الكبيرة وJSON والتفاف الأسطر. يُسقط التحديث أو الإغلاق البيانات والنتائج في الذاكرة. تبقى الملفات المنزّلة على جهازك، ولا يضمن المسح إزالة آثار الذاكرة القابلة للاستعادة.
لا يرفع الإنشاء الأسماء أو محتوى الملفات أو UUID إلى خادم توليد أو سجل تخصيص. يرسل تحميل الموقع بيانات معتادة للاستضافة، ويستخدم الموقع العام Google Analytics للزيارات مع ملفات الارتباط ومعلومات الجهاز والمتصفح. الإنشاء المحلي لا يعني إخفاء الهوية أو انعدام طلبات الشبكة أو انعدام سجلات البنية التحتية.
تضمين مولد UUID ورابطه الخلفي
اختر اللغة واستخدم قسم التكامل أسفل مساحة العمل لنسخ مقتطف HTML أو تنزيله. الصقه بمنصة تسمح بإطار iframe الخارجي وبرنامج الحجم. يتضمن رابطًا ظاهرًا لصفحة ToolMellow UUID باللغة المطابقة؛ احتفظ برابط الإسناد.
عاين التضمين على شاشة ضيقة وافحص دعم الحافظة والعامل للنمط المختار. يحتفظ بالإصدارات والحدود ونطاق الحالة المحلي، ولا يصبح API معرّفات بعيدة أو خدمة تفرّد مشتركة. يستخدم الرابط nofollow وnoopener، ولا يضمن وجوده ترتيبًا أعلى.
أسئلة شائعة
كيف أنشئ UUID؟
اختر الإصدار والتنسيق، واضبط العدد للعشوائية والزمن والثوابت، أو النطاق وأسطر الأسماء لـv3/v5، ثم اضغط «أنشئ UUID». انسخ أو نزّل النص أو JSON. الافتراضي v4.
ما الفرق بين UUID v4 وv7؟
يستخدم v4 عشوائية تشفيرية وبتات الإصدار والفئة. يتضمن v7 مللي ثواني Unix وحقول عداد وعشوائية للمكتبة. هو زمني، لكن لا يضمن وقتًا موثوقًا أو ترتيبًا عبر تشغيلات أو تبويبات أو أجهزة.
هل UUID فريد دائمًا؟
لا ضمان عالمي أو فحص تخصيص خارجي. التصادم العشوائي غير مرجح تحت افتراضات مناسبة. تتكرر الأسماء المتطابقة، وNil/Max ثابتان. طبّق قواعد التفرّد الفعلية عند الحاجة.
لماذا يكرر UUID v5 القيمة نفسها؟
الإصدار والنطاق واسم UTF-8 الدقيق نفسها تعيد UUID نفسه. تُحفظ الأسماء الفارغة والمتكررة كأسطر منفصلة وقد تتكرر القيم؛ ولا يُختار معرّف عشوائي جديد لكل اسم مكرر.
هل يتحكم العدد في دفعات v3 أو v5؟
لا. كل سطر تفصله CRLF أو CR أو LF اسم، بما فيه الفارغ والأخير الفارغ. الحد 1,000 سطر ومليون وحدة UTF-16.
ماذا يفعل نطاق DNS أو URL؟
يختار UUID محددًا مسبقًا لبايتات الاسم الحرفية. لا يستعلم DNS أو يجلب URL أو يوحد حالة النطاق أو يتحقق من عنوان كامل. اتبع قواعد أسماء تطبيقك.
هل يكشف v1 عنوان MAC هنا؟
يستخدم التنفيذ عقدة عشوائية لـv1/v6، ولا يستخدم MAC الجهاز أبدًا. يظل الزمن مكشوفًا. قد تستخدم تطبيقات أخرى مصادر عقدة مختلفة؛ هذا لا يضمن إخفاء الهوية.
هل يضمن v7 ترتيبًا زمنيًا؟
تدير المكتبة الساعة والعداد داخل العامل. لكل تشغيل عامل جديد، ولا ضمان موزع أو عبر الدفعات. قد تؤثر أخطاء الساعة أو معالجة تراجعها في المعلومات الزمنية.
ما الفرق بين تنسيق UUID وGUID؟
GUID مصطلح شائع مرتبط بـUUID. يحيط خيار الأقواس النص فقط. تمثل القياسية والمختصرة والأقواس وURN البتات نفسها؛ ولا تحول إلى تخطيط Windows ثنائي.
هل Nil وMax قيمتان فريدتان جديدتان؟
لا. Nil أصفار وMax آحاد. قيمتان ثابتتان تتكرران عند إنشاء عدة عناصر؛ وليستا v0/v15 عشوائيين عاديين.
هل يتطلب UUID دائمًا HTTPS وبصمات Web Crypto؟
لا. تحتاج العشوائية والزمن إلى قيم عشوائية تشفيرية؛ ويمكن لـv4 استخدام بديل المكتبة إذا غابت randomUUID الأصلية. تستخدم v3/v5 تجزئة أسماء المكتبة، وNil/Max ثابتان؛ فلا تحتاج كلها crypto.subtle أو المسار نفسه.
هل يصبح UUID كلمة مرور أو رمزًا سريًا تلقائيًا؟
لا تثبت الصياغة السرية أو التفويض أو دورة رمز كاملة. للأسماء والزمن والثوابت بنى متوقعة أو مكشوفة. صمم المصادقة والتخزين للتطبيق الفعلي بدل اعتبار كل UUID سرًا.
ماذا يعيد المسح ضبطه؟
يزيل الإدخال والناتج والأخطاء والسجل ويعيد النطاق المخصص إلى DNS. يحتفظ بالإصدار والعدد والتنسيق والكبيرة وJSON والتفاف الأسطر. تبقى الملفات المنزّلة على جهازك.
هل يمكن تضمين المولد في موقعي؟
استخدم مقتطف HTML المحلي أسفل مساحة العمل، واحتفظ برابط ToolMellow الظاهر وافحص دعم iframe والبرامج والحافظة والعامل. للتضمين الأنماط والحدود نفسها، وليس API تخصيص أو تفرّد بعيدة.