قم بإنشاء ULIDs على الفور باستخدام أداتنا المجانية عبر الإنترنت. أنشئ معرفات فريدة عالميًا قابلة للفرز من الناحية المعجمية لقواعد البيانات وواجهات برمجة التطبيقات والأنظمة الموزعة.
قم بإنشاء ULIDs على الفور باستخدام أداة مولد ULID المجانية عبر الإنترنت. أنشئ معرفات فريدة عالمياً قابلة للفرز لكسرياً تجمع بين الطوابع الزمنية وبيانات عشوائية آمنة تشفيرياً لمفاتيح قواعد البيانات، والأنظمة الموزعة، وتطبيقات الويب.
ULID (معرف فريد عالمياً قابلاً للفرز لكسرياً) هو نظام معرف فريد يجمع بين الطابع الزمني وبيانات عشوائية لإنشاء سلسلة مكونة من 26 حرفاً. على عكس UUID التقليدية، ULIDs قابلة للفرز لكسرياً مع الحفاظ على الفريدة والتشفير العشوائي، مما يجعلها مثالية للتطبيقات الموزعة الحديثة.
تقوم أداة مولد ULID بإنشاء معرفات فريدة على الفور:
يتكون هيكل معرف ULID من جزئين رئيسيين:
السلسلة الناتجة المكونة من 26 حرفاً مشفرة باستخدام أبجدية Crockford's base32 (0-9 و A-Z، باستثناء I و L و O و U).
يتم إنشاء ULID باستخدام الخطوات التالية:
يقوم مولد ULID بتنفيذ الخطوات التالية:
تعتبر مولدات ULID ضرورية لتطوير البرمجيات الحديثة عبر سيناريوهات متعددة:
الميزة | ULID | UUID |
---|---|---|
الفرز | قابلة للفرز لكسرياً | غير قابلة للفرز |
الطابع الزمني | يتضمن طابع زمني بالمللي ثانية | لا يوجد طابع زمني (v4) |
الطول | 26 حرفاً | 36 حرفاً (مع شرطات) |
التشفير | Crockford's Base32 | سداسي عشري |
حساسية الحالة | غير حساسة للحالة | غير حساسة للحالة |
قارن مولدات ULID مع حلول معرفات فريدة أخرى:
قم بتنفيذ توليد ULID عبر لغات برمجة مختلفة:
1// تنفيذ JavaScript
2function generateULID() {
3 const timestamp = Date.now().toString(36).padStart(10, '0');
4 const randomness = crypto.getRandomValues(new Uint8Array(16))
5 .reduce((acc, byte) => acc + byte.toString(36).padStart(2, '0'), '');
6 return (timestamp + randomness).toUpperCase();
7}
8
9console.log(generateULID());
10
1## تنفيذ Python
2import time
3import secrets
4import base64
5
6def generate_ulid():
7 timestamp = int(time.time() * 1000).to_bytes(6, byteorder="big")
8 randomness = secrets.token_bytes(10)
9 return base64.b32encode(timestamp + randomness).decode("ascii").lower()
10
11print(generate_ulid())
12
1// تنفيذ Java
2import java.security.SecureRandom;
3import java.time.Instant;
4
5public class ULIDGenerator {
6 private static final SecureRandom random = new SecureRandom();
7 private static final char[] ENCODING_CHARS = "0123456789ABCDEFGHJKMNPQRSTVWXYZ".toCharArray();
8
9 public static String generateULID() {
10 long timestamp = Instant.now().toEpochMilli();
11 byte[] randomness = new byte[10];
12 random.nextBytes(randomness);
13
14 StringBuilder result = new StringBuilder();
15 // تشفير الطابع الزمني
16 for (int i = 9; i >= 0; i--) {
17 result.append(ENCODING_CHARS[(int) (timestamp % 32)]);
18 timestamp /= 32;
19 }
20 // تشفير العشوائية
21 for (byte b : randomness) {
22 result.append(ENCODING_CHARS[b & 31]);
23 }
24 return result.toString();
25 }
26
27 public static void main(String[] args) {
28 System.out.println(generateULID());
29 }
30}
31
توضح أمثلة كود ULID هذه التنفيذ عبر لغات البرمجة الشائعة. قم بتكييف هذه الوظائف لتناسب تطبيقاتك المحددة أو دمجها في أنظمة أكبر تتطلب معرفات فريدة.
ULID (معرف فريد عالمياً قابلاً للفرز لكسرياً) هو معرف فريد مكون من 26 حرفاً يجمع بين طابع زمني وبيانات عشوائية آمنة تشفيرياً. على عكس UUIDs، تحافظ ULIDs على الترتيب الزمني عند فرزها لكسرياً.
استخدم أداة مولد ULID المجانية أعلاه لإنشاء معرفات فريدة على الفور. ما عليك سوى النقر على زر الإنشاء لإنشاء ULIDs جديدة، ثم انسخ النتائج لاستخدامها في تطبيقاتك.
ULIDs قابلة للفرز حسب وقت الإنشاء، تستخدم 26 حرفاً مع تشفير Crockford's Base32، وتحتوي على طوابع زمنية. UUIDs تتكون من 36 حرفاً (مع شرطات)، تستخدم التشفير السداسي، وليست قابلة للفرز بشكل طبيعي.
نعم، تستخدم مولدات ULID توليد أرقام عشوائية آمنة تشفيرياً لمكون العشوائية المكون من 80 بت، مما يوفر مقاومة عالية للتصادم مع الحفاظ على الترتيب الزمني.
بالتأكيد! تعتبر ULIDs مفاتيح أساسية ممتازة في قواعد البيانات لأنها فريدة، مرتبة طبيعياً حسب وقت الإنشاء، ولا تتطلب تنسيق مركزي في الأنظمة الموزعة.
تستخدم ULIDs تشفير Crockford's Base32 (0-9 و A-Z، باستثناء I و L و O و U) والذي هو غير حساس للحالة وآمن للويب، مما يجعلها مثالية لتطبيقات الويب.
ULIDs طولها بالضبط 26 حرفاً، مما يجعلها أكثر إحكاماً من UUID القياسية (36 حرفاً مع شرطات) مع توفير نفس مستوى الفريدة.
نعم، يعمل توليد ULID بالكامل دون اتصال بالإنترنت لأنه يتطلب فقط الطابع الزمني الحالي ومولد أرقام عشوائية آمنة تشفيرياً - لا حاجة للاتصال بالشبكة.
ابدأ في توليد معرفات فريدة قابلة للفرز الآن باستخدام أداة مولد ULID المجانية لدينا.
اكتشف المزيد من الأدوات التي قد تكون مفيدة لسير عملك