UUID הוא מספר זיהוי ייחודי בשימוש נרחב באורך 128 סיביות במערכת המחשב. הוא מורכב מספרות משושה המופרדות על ידי ארבעה מקפים. בחלק זה, נדון מה זה UUID ו כיצד ליצור באופן אקראי UUID (גרסה 4) ב-Java .
UUID
UUID מייצג מזהה ייחודי אוניברסלי . UUIDs מתוקנים על ידי Open Software Foundation (OSF). זה חלק מסביבת המחשוב ההפצה (DCE). UUID הוא מספר ייחודי באורך 36 תווים (128 סיביות). זה ידוע גם בתור א מזהה ייחודי גלובלי (GUID).
נקה מטמון npm
השימוש ב-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