logo

جافا إنشاء UUID

UUID هو رقم تعريف فريد بطول 128 بت يستخدم على نطاق واسع في نظام الكمبيوتر. يتكون من أرقام سداسية مفصولة بأربعة شرطات. في هذا القسم سنناقش ما هو UUID و كيفية إنشاء UUID (الإصدار 4) بشكل عشوائي في Java .

UUID

UUID تمثل معرف فريد عالميًا . يتم توحيد UUIDs بواسطة مؤسسة البرمجيات المفتوحة (OSF). إنها جزء من بيئة الحوسبة التوزيعية (DCE). UUID هو رقم فريد يتكون من 36 حرفًا (128 بت). ومن المعروف أيضا باسم أ المعرف الفريد العالمي (GUID).

جافا إنشاء UUID

يعتمد استخدام UUID على الموقف وحالات الاستخدام والتعقيد والشروط. بعض استخدامات UUID هي:

  • يتم استخدامه لإنشاء URN فريد (أسماء الموارد الموحدة).
  • ويمكن استخدامه أيضًا لإنشاء معرفات المعاملات.
  • تستخدم على نطاق واسع في تطبيق التشفير.
  • في تطبيق الويب يمكن استخدامه لإنشاء معرفات الجلسة.

أنواع UUID

هناك أربعة أنواع من UUIDs:

  • UUID المستند إلى الوقت (الإصدار 1)
  • UUID لأمان DCE (الإصدار 2)
  • UUID المستند إلى الاسم (الإصدار 3 و5)
  • UUID الذي تم إنشاؤه عشوائيًا (الإصدار 4)

متغيرات UUID

هناك العديد من المتغيرات لـ UUID ولكن ملح ليش البديل يستخدم على نطاق واسع. تخطيط البديل 2 أي. ملح ليش على النحو التالي:

تتكون MSBs من الحقول غير الموقعة التالية:

جافا حاول الصيد

0xFFFFFFFF00000000 time_low

0x00000000FFFF0000 time_mid

النسخة 0x000000000000F000

0x0000000000000FFF time_hi

تتكون LSBs من الحقول غير الموقعة التالية:

0xC00000000000000 البديل

وظائف السلسلة في جافا

0x3FFF000000000000 Clock_seq

عقدة 0x0000FFFFFFFFFFFF

يحتوي الحقل المتغير على قيمة تحدد تخطيط UUID. التخطيط الذي تمت مناقشته أعلاه صالح فقط للمتغير 2.

فئة جافا UUID

من أجل توليد UUID ، توفر لغة برمجة Java فئة UUID. الطبقة تنتمي إلى java.util طَرد. يقوم بتوسيع فئة الكائن وتنفيذ قابل للتسلسل و قابلة للمقارنة واجهه المستخدم. يقوم الفصل بإنشاء UUID غير قابل للتغيير يمثل قيمة 128 بت.

باوانديب راجان

طرق فئة UUID لجافا

طُرق وصف
تسلسل الساعة () تقوم بإرجاع قيمة تسلسل الساعة المرتبطة بهذا UUID المحدد.
قارن ب() تقارن الطريقة UUID مع UUID المحدد.
يساوي () تقارن الطريقة هذا الكائن بالكائن المحدد.
من سلسلة () يقوم بإنشاء UUID من تمثيل السلسلة.
الحصول علىLeastSignificantBits() تقوم بإرجاع 64 بت الأقل أهمية من قيمة 128 بت الخاصة بـ UUID.
getMostSignificantBits() تقوم بإرجاع أهم 64 بت من قيمة 128 بت الخاصة بـ UUID.
رمز التجزئة () تقوم بإرجاع رمز التجزئة لهذا UUID.
nameUUIDFromBytes() يقوم باسترداد UUID الإصدار 3 (المعتمد على الاسم) استنادًا إلى صفيف البايت المحدد.
العقدة() تقوم بإرجاع قيمة العقدة المرتبطة بـ UUID المحدد.
عشوائيUUID() تقوم بإرجاع UUID الذي تم إنشاؤه بشكل عشوائي.
الطابع الزمني () تقوم بإرجاع قيمة الطابع الزمني المرتبطة بهذا UUID المحدد.
إلى سلسلة() تقوم بإرجاع كائن سلسلة يمثل UUID هذا.
البديل () يتم استخدامه للحصول على المتغير المرتبط بـ UUID المحدد.
إصدار() يمكننا الحصول على رقم الإصدار المرتبط بـ UUID المحدد.

إنشاء UUID

ينشئ المثال التالي UUID عشوائيًا.

UUIDexample.java

 import java.util.UUID; public class UUIDExample { public static void main(String args[]) { //generates random UUID UUID uuid=UUID.randomUUID(); System.out.println(uuid); } } 

انتاج:

 2b733549-d2cc-40f0-b7f3-9bfa9f3c1b89 

تحويل من سلسلة إلى UUID

StringToUUIDexample.java

 import java.util.UUID; public class StringtoUUIDExample { public static void main(String args[]) { //randomly generates a UUID UUID uuid = UUID.randomUUID(); System.out.println('Randomly Generated UUID: '+uuid); //converts the randomly generated UUID into String String uuidAsString = uuid.toString(); System.out.println('UUID as String: '+uuidAsString); //generates a UUID from the String UUID sameUuid = UUID.fromString(uuidAsString); System.out.println('UUID from String: '+sameUuid); //compares UUID generated from the string with the randomly generated UUID System.out.println(sameUuid.equals(uuid)); } } 

انتاج:

 Randomly Generated UUID: fe8a03d7-6495-4231-9843-8ee2f5282620 UUID as String: fe8a03d7-6495-4231-9843-8ee2f5282620 UUID from String: fe8a03d7-6495-4231-9843-8ee2f5282620 true