مولد معرفات نانو مجاني - معرفات فريدة آمنة وصديقة للرابط عبر الإنترنت
قم بإنشاء معرفات نانو آمنة على الفور! أداة مجانية عبر الإنترنت تنشئ معرفات فريدة مضغوطة وصديقة للرابط أقصر بنسبة 42٪ من UUID. مثالية للقواعد البيانية، واجهات برمجة التطبيقات، الرموز المميزة والأنظمة.
طول معرف النانو الذي تم إنشاؤه (1-100 حرف)
اختر مجموعة الأحرف لمعرف النانو الخاص بك
معرف نانو تم إنشاؤه
التصور
التوثيق
ينشئ مولّد Nano ID سلسلة قصيرة وعشوائية من المحارف تُسمّى Nano ID. وتعمل Nano IDs كمعرّفات فريدة لأشياء مثل سجلات قواعد البيانات وعناوين URL ورموز API، ومن المستبعد جدًا أن يتطابق معرّفان مُولّدان في أي وقت.
ما هو Nano ID؟
Nano ID هو سلسلة مُولّدة عشوائيًا تُستخدم لتسمية شيء ما بحيث يمكن تمييزه عن كل شيء آخر. أنشأ مطوّر البرمجيات أندريه سيتنيك هذا التنسيق في 2017 بوصفه بديلًا أصغر من UUID (المعرّف الفريد عالميًا)، وهو معرّف مكوّن من 36 محرفًا ويُستخدم على نطاق واسع في الحوسبة. يتكوّن Nano ID الافتراضي من 21 محرفًا، مقارنةً بـ 36 محرفًا في UUID، أي بانخفاض قدره نحو 42%.
كيفية إنشاء Nano ID باستخدام هذه الأداة
ينشئ المولّد في هذه الصفحة Nano ID استنادًا إلى إعدادين.
- الطول: عدد صحيح من 1 إلى 100. والقيمة الافتراضية هي 21.
- مجموعة المحارف: مجموعة المحارف التي يُنشأ منها المعرّف. والافتراضي هو استخدام المحارف الأبجدية الرقمية.
أدخل طولًا، واختر مجموعة محارف، ثم اضغط على "Generate" لإنشاء معرّف. اضغط على "Copy" لنسخه، أو على "Reset" للعودة إلى طول قدره 21 ومجموعة المحارف الأبجدية الرقمية. ويظهر معرّف جديد تلقائيًا أيضًا كلما تغيّر الطول أو مجموعة المحارف. وترسم الأداة أسفل الأزرار كل محرف من محارف المعرّف في كتلة ملوّنة: الأزرق للحرف الكبير، والأخضر للحرف الصغير، والبرتقالي للرقم، والرمادي لعلامة الترقيم.
إذا لم يكن الطول عددًا صحيحًا بين 1 و100، تعرض الأداة الرسالة "يجب أن يكون الطول عددًا صحيحًا بين 1 و100" ولا تُنتج أي معرّف.
مجموعات المحارف المتاحة
توفّر الأداة سبع مجموعات محارف ثابتة. ولا تقبل أبجدية مخصّصة يكتبها المستخدم. وتضيف مجموعة "With Symbols" علامات الترقيم البالغ عددها 26 التالية إلى المحارف الأبجدية الرقمية: ! @ # $ % ^ & * ( ) _ + - = [ ] { } | ; : , . < > ?.
| مجموعة الأحرف | المحارف المستخدمة | حجم الأبجدية |
|---|---|---|
| أبجدية رقمية (الافتراضي) | A-Z، a-z، 0–9 | 62 |
| آمنة لعناوين URL | A-Z، a-z، 0-9، -، _ | 64 |
| رقمية | 0–9 | 10 |
| أبجدية | A-Z، a-z | 52 |
| أحرف صغيرة | a-z | 26 |
| أحرف كبيرة | A-Z | 26 |
| مع الرموز | A-Z، a-z، 0–9 و26 علامة ترقيم | 88 |
تُحدَّد المجموعة الأبجدية الرقمية افتراضيًا. وهي تستبعد الواصلة والشرطة السفلية المستخدمتين في مجموعة المحارف الآمنة لعناوين URL، مع أن الأحرف والأرقام وحدها آمنة أصلًا للإدراج مباشرةً في عنوان URL.
صيغة Nano ID
يُنشأ Nano ID باختيار عدد ثابت من المحارف عشوائيًا من أبجدية، محرفًا واحدًا في كل مرة، باستخدام مولّد أعداد عشوائية آمن تشفيريًا. وقد صُمّم هذا المولّد بحيث لا يمكن التنبؤ بمخرجاته مسبقًا.
1id = random(alphabet, size)
2في الإعدادات الافتراضية، تحتوي alphabet على 62 محرفًا، وتكون قيمة size هي 21.
مثال محلول
باستخدام الأبجدية الرقمية الافتراضية وطول قدره 21، يكون أحد المعرّفات الممكنة التي يمكن توليدها هو:
1K7pQ2mZxT9vY4nR8jH3wL
2يُختار كل محرف بصورة مستقلة من بين 62 حرفًا ورقمًا، ولذلك فإن تشغيل المولّد مرتين لن ينتج السلسلة نفسها إلا في حالات نادرة جدًا.
كيفية حساب احتمال التصادم
بما أن Nano ID يُختار عشوائيًا، فمن الممكن، وإن كان ذلك مستبعدًا جدًا، أن يتطابق معرّفان مُولّدان. ويُسمّى هذا تصادمًا. ويتبع احتمال حدوث تصادم واحد على الأقل بعد توليد k معرّفًا الرياضيات نفسها لمسألة "عيد الميلاد":
1P(collision) ≈ 1 - e^(-k² / (2n))
2هنا تمثّل n عدد المعرّفات الممكنة: حجم الأبجدية مرفوعًا إلى قوة طول المعرّف، أو n = alphabet_size^length.
مثال محلول
في الإعداد الافتراضي، مع أبجدية مكوّنة من 62 محرفًا وطول قدره 21 محرفًا:
1n = 62^21 ≈ 4.4 × 10^37 possible IDs
2يؤدي حل الصيغة من أجل احتمال تصادم قدره 1% إلى:
1k ≈ 9.4 × 10^17 IDs
2يعني ذلك أنه يجب توليد نحو 940 كوادريليون معرّف قبل أن توجد حتى فرصة بنسبة 1% لتطابق اثنين منها. وعند توليد مليون معرّف في الثانية، سيستغرق بلوغ ذلك العدد نحو 29,700 سنة.
يؤدي الانتقال إلى الأبجدية الآمنة لعناوين URL والمكوّنة من 64 محرفًا إلى زيادة العدد قليلًا، ليبلغ نحو 1.3 × 10^18 معرّفًا للاحتمال نفسه البالغ 1%، لأن الأبجدية الأكبر تتيح عددًا أكبر من المعرّفات الممكنة للاختيار منها.
مقارنة Nano ID بالمعرّفات الأخرى
| النوع | الطول | ملاحظات |
|---|---|---|
| Nano ID | 21 محرفًا، قابل للضبط | عشوائي ومضغوط، ولا يمكن ترتيبه زمنيًا |
| UUID | 36 محرفًا | تنسيق قياسي ومدعوم على نطاق واسع، ويحتوي على شرطات |
| ULID | 26 محرفًا | قابلة للترتيب حسب وقت الإنشاء |
| KSUID | 27 محرفًا | يمكن ترتيبه حسب وقت الإنشاء، ويتضمن طابعًا زمنيًا |
| عدد صحيح متزايد تلقائيًا | يختلف | بسيط ومتسلسل، لكنه قابل للتنبؤ ويصعب تنسيقه عبر قواعد بيانات منفصلة |
الأسئلة الشائعة
ما طول Nano ID الافتراضي وما مجموعة محارفه؟
يتكوّن افتراضيًا من 21 محرفًا من مجموعة المحارف الأبجدية الرقمية: A-Z، a-z، 0-9، التي تضم إجمالًا 62 محرفًا.
هل تدعم هذه الأداة أبجدية مخصّصة؟
لا. فهي توفّر سبع مجموعات محارف ثابتة: الأبجدية الرقمية، والآمنة لعناوين URL، والرقمية، والأبجدية، والأحرف الصغيرة، والأحرف الكبيرة، و"With Symbols".
كيف يختلف Nano ID عن UUID؟
Nano ID أقصر. فالإعداد الافتراضي هو 21 محرفًا مقابل 36 محرفًا في UUID، أي أقصر بنحو 42%. ويُولَّد كلاهما عشوائيًا، وليس أي منهما متسلسلًا.
هل يمكن ترتيب Nano ID حسب وقت إنشائه؟
لا. فـ Nano IDs عشوائية تمامًا، ولذلك لا تحمل أي معلومات عن وقت توليدها. أما تنسيقات مثل ULID أو KSUID فمصمّمة لتكون قابلة للترتيب زمنيًا.
هل من الآمن استخدام Nano ID كمفتاح أساسي لقاعدة بيانات؟
نعم. ينبغي تخزينه في عمود نصي أو عمود سلسلة بدلًا من عمود رقمي، مع فهرس فريد لتسريع عمليات البحث.
كم عدد Nano IDs الممكنة؟
يعتمد ذلك على الطول ومجموعة المحارف المختارة. باستخدام الأبجدية الافتراضية المكوّنة من 62 محرفًا وطول قدره 21 محرفًا، يوجد 62^21 معرّفًا ممكنًا، أي نحو 4.4 × 10^37.
المراجع
- سيتنيك، أندريه. "Nano ID." GitHub، https://github.com/ai/nanoid.
- "Universally unique identifier." ويكيبيديا، مؤسسة ويكيميديا، https://en.wikipedia.org/wiki/Universally_unique_identifier.
- "ULID Spec." GitHub، https://github.com/ulid/spec.