2015-09-16 19 views

回答

5

這裏的UUID的類描述

UUID是一個128位的通用唯一標識符(UUID)的不可變表示。

UUID有多種不同的佈局,但該類基於RFC 4122的變體2,即Leach-Salz變體。這個類可以用來建立替代變體的模型,但在這些情況下,大多數方法將不被支持;詳情請參閱每種方法。

所以,當你調用nameUUIDFromBytes (byte[] name),它將返回an UUID instance是,再次,128位全球唯一標識符的不變表示。

這意味着該字節現在被散列成一個唯一的標識符,並且不可逆轉爲原始字節。

散列字節的目的是什麼以及爲什麼要反轉它?如果你在你的問題中指定,我將編輯這篇文章給予進一步的幫助。但現在這是答案。

+1

這是一個不好的建議由某人。感謝您的回答。 – andymal

-4

想象一下,你有這樣的:

UUID uuid = UUID.nameUUIDFromBytes(byte[]); 

要轉換爲String這很簡單,只需使用toString()方法:

String original = uuid.toString(); 
+2

這不會給你的名字。轉換前 – chrylis

+0

字符串= 000059dba6073a0000000b40411988 UUID = bfab57e7-d89c-300A-9934-64060b959736 根據UUID.toString = bfab57e7-d89c-300A-9934-64060b959736 – andymal

+0

這是行不通的。其實uuid.toString()會返回一個不可變的字符串。 –

2

基於名稱的UUID的使用散列函數映射輸入字符串到固定的位數。哈希函數是有損的,通常不可逆。