البرمجة

دليل مولد UUID: ‏v4 وv7 ونطاقات الأسماء وتنسيقات GUID

ToolMellow ·

UUID معرّف من 128 بتًا له قواعد إصدار وفئة محددة. ينشئ ToolMellow ‏v1 وv3 وv4 وv5 وv6 وv7 والقيمتين الثابتتين Nil وMax. اختر «إصدار UUID» و«تنسيق 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 المخصصة. تغيير التنسيق النصي لا يغير الإصدار أو بتات المعرّف الأصلية.

يحدد الإصدار طريقة البناء، لا ضمانًا للتفرّد العالمي أو السرية أو التوافق مع كل مستهلك. قد تفرض قاعدة بيانات أو بروتوكول إصدارات وتمثيلات خاصة. تنشئ الصفحة معرّفات؛ ولا تستعلم عن سجل، ولا تتصل بقاعدة بيانات، ولا تقيس أداء الفهرسة.

اختر v1 أو v3 أو v4 أو v5 أو v6 أو v7
النمطالبناء في الأداةحد مفيد
v4عشوائية تشفيريةمعرّف عشوائي، لا طابع زمن أو نظام رمز سري تلقائي
v7وقت Unix مع حقول عداد وعشوائية للمكتبةزمني، الترتيب محدود بالساعة والعامل
v1طابع ميلادي وتسلسل ساعة وعقدة عشوائيةيكشف الزمن؛ لا يقرأ التنفيذ MAC الجهاز
v6طابع ميلادي معاد الترتيب وعقدة وتسلسل عشوائيينيوضع حقل الزمن أبكر من v1؛ وقواعد التخزين مهمة
v5نطاق واسم UTF-8 دقيق بـSHA-1حتمي، لا مصادقة بمفتاح
v3نطاق واسم UTF-8 دقيق بـMD5بناء حتمي قديم، لا تخزين كلمات مرور
NilUUID صفري ثابتثابت متكرر، لا تخصيص فريد جديد
MaxUUID ثابت كل بتاته واحدثابت متكرر، لا تخصيص فريد جديد

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 الافتراضي؛ ولا يغير القيم التي نزّلتها سابقًا.

DNS وURL وOID وX.500 والنطاق المخصص
الخيارUUID لنطاق الأسماء
DNS6ba7b810-9dad-11d1-80b4-00c04fd430c8
URL6ba7b811-9dad-11d1-80b4-00c04fd430c8
OID6ba7b812-9dad-11d1-80b4-00c04fd430c8
X.5006ba7b814-9dad-11d1-80b4-00c04fd430c8

RFC 9562: المعرّفات الفريدة عالميًا وتخطيطاتها ونطاقاتها وأمثلتهاuuid.js 14.0.2: واجهات توليد UUID وإدارة الحالة

أمثلة نطاق DNS معلومة

مع نطاق DNS والاسم الدقيق www.example.com، تعيد القيم القياسية الصغيرة أدناه أمثلة RFC للأسماء. اختيار DNS لا يسبب استعلام شبكة. لا تحوّل الأداة نطاقًا مكتوبًا بأحرف كبيرة إلى صغيرة بصمت؛ إنه اسم حرفي آخر.

افحص الإصدار والنطاق بهذه الأمثلة الثابتة قبل تشخيص قواعد الأسماء الحقيقية. تنتج الأسطر المتكررة قيمًا متكررة في v3/v5. النتيجة الحتمية مفيدة للقواعد المتفق عليها، لا دليلًا على مقاومة التصادم لكل استخدام أو شهادة ملكية الاسم.

أمثلة نطاق DNS معلومة
الإصدارالاسم الدقيقالناتج القياسي
v3www.example.com5df41881-3aed-3515-88a7-2f4a814cf09e
v5www.example.com2ed6657d-e927-568b-95e1-2665a8aea6a2

RFC 9562: المعرّفات الفريدة عالميًا وتخطيطاتها ونطاقاتها وأمثلتها

النص القياسي والمختصر والأقواس وURN وJSON

يغير محدد التنسيق التمثيل، لا بتات UUID. يعرض الجدول قيمة v5 ثابتة بأربعة تنسيقات. تغير الأحرف الكبيرة المحارف السداسية؛ وتظل بادئة URN هي urn:uuid:. تأكد من قبول النظام المستقبِل للكتابة؛ لا ينفذ هذا المنسّق تسلسل GUID ثنائيًا أو تحويل قاعدة بيانات.

ينتج «إخراج مصفوفة JSON» مصفوفة سلاسل بمسافات بادئة حسب التنسيق؛ وإلا تُفصل القيم بأسطر جديدة. يحفظ التنزيل toolmellow-result.json مع JSON، أو toolmellow-result.txt بدونه؛ وكلاهما نص UTF-8. تغيّر الخيارات يبطل النتيجة القديمة، فأنشئ نتيجة جديدة بعد اختيار التنسيق.

النص القياسي والمختصر والأقواس وURN وJSON
التنسيقمحارف القيمة الواحدةمثال
قياسي362ed6657d-e927-568b-95e1-2665a8aea6a2
مختصر322ed6657de927568b95e12665a8aea6a2
أقواس معقوفة · GUID38{2ed6657d-e927-568b-95e1-2665a8aea6a2}
URN45urn: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 تخصيص أو تفرّد بعيدة.

المصادر وقراءات إضافية

جرّب بنفسك.