logo

Java צור UUID

UUID הוא מספר זיהוי ייחודי בשימוש נרחב באורך 128 סיביות במערכת המחשב. הוא מורכב מספרות משושה המופרדות על ידי ארבעה מקפים. בחלק זה, נדון מה זה UUID ו כיצד ליצור באופן אקראי UUID (גרסה 4) ב-Java .

UUID

UUID מייצג מזהה ייחודי אוניברסלי . UUIDs מתוקנים על ידי Open Software Foundation (OSF). זה חלק מסביבת המחשוב ההפצה (DCE). UUID הוא מספר ייחודי באורך 36 תווים (128 סיביות). זה ידוע גם בתור א מזהה ייחודי גלובלי (GUID).

נקה מטמון npm
Java צור UUID

השימוש ב-UUID תלוי במצב, מקרי שימוש, מורכבות ותנאים. חלק מהשימושים ב-UUID הם:

  • הוא משמש ליצירת URN ייחודי (שמות משאבים אחידים).
  • זה יכול לשמש גם ליצירת מזהי עסקה.
  • בשימוש נרחב ביישום קריפטוגרפי.
  • ביישום אינטרנט ניתן להשתמש בו כדי ליצור מזהי הפעלה.

סוגי UUID

ישנם ארבעה סוגים של UUIDs:

  • UUID מבוסס זמן (גרסה 1)
  • DCE אבטחה UUID (גרסה 2)
  • UUID מבוסס שמות (גרסה 3 ו-5)
  • UUID שנוצר באופן אקראי (גרסה 4)

גרסאות של UUID

יש הרבה גרסאות של UUID אבל לשטוף מלח וריאנט נמצא בשימוש נרחב. הפריסה של גרסה 2 כלומר. לשטוף מלח הוא כדלקמן:

ה-MSBs מורכבים מהשדות הלא חתומים הבאים:

0xFFFFFFFF00000000 time_low

0x00000000FFFF0000 time_mid

גרסת 0x000000000000F000

0x0000000000000FFF time_hi

ה-LSBs מורכבים מהשדות הלא חתומים הבאים:

גרסה 0xC000000000000000

0x3FFF000000000000 שעון_seq

צומת 0x0000FFFFFFFFFFFF

שדה הגרסה מכיל ערך המזהה את הפריסה של ה-UUID. הפריסה הנידונה לעיל תקפה רק עבור גרסה 2.

יתרונות החשמל

כיתה Java UUID

ליצירת ה UUID , שפת התכנות Java מספקת את המחלקה UUID. הכיתה שייכת ל java.util חֲבִילָה. זה מרחיב את המחלקה Object ומיישם את ניתן לסידרה ו בר השוואה מִמְשָׁק. המחלקה מייצרת UUID בלתי ניתן לשינוי המייצג ערך של 128 סיביות.

Java UUID Class Methods

שיטות תיאור
clockSequence() הוא מחזיר את ערך רצף השעון המשויך ל-UUID שצוין זה.
בהשוואה ל() השיטה משווה את ה-UUID ל-UUID הספציפי.
שווים() השיטה משווה אובייקט זה לאובייקט שצוין.
fromString() זה יוצר UUID מייצוג המחרוזת.
getLeastSignificantBits() הוא מחזיר את 64 הסיביות הפחות משמעותיות של ערך 128 הסיביות של UUID זה.
getMostSignificantBits() הוא מחזיר את 64 הסיביות המשמעותיות ביותר של ערך 128 הסיביות של UUID זה.
hashCode() זה מחזיר קוד hash עבור UUID זה.
nameUUIDFromBytes() הוא מאחזר UUID גרסה 3 (מבוסס שם) המבוסס על מערך הבתים שצוין.
צוֹמֶת() הוא מחזיר ערך צומת המשויך ל-UUID שצוין.
randomUUID() זה מחזיר UUID שנוצר באופן אקראי.
חותמת זמן () הוא מחזיר ערך חותמת זמן המשויך ל-UUID שצוין זה.
toString() הוא מחזיר אובייקט String המייצג את ה-UUID הזה.
גִרְסָה אַחֶרֶת() הוא משמש כדי לקבל את הגרסה המשויכת ל-UUID שצוין.
גִרְסָה() נוכל לקבל את מספר הגרסה המשויך ל-UUID שצוין.

יצירת UUID

הדוגמה הבאה יוצרת UUID אקראי.

UUIDEexample.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

StringToUUIDEexample.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