2015-09-16 10 views

答えて

5

ここ

UUIDは128ビットの汎用一意識別子(UUID)の不変表現であるUUIDのクラス記述です。

UUIDの複数のバリアントレイアウトがありますが、このクラスはRFC 4122の変形2、Leach-Salzバリアントに基づいています。このクラスを使用して代替バリアントをモデル化できますが、ほとんどのメソッドはサポートされません。詳細は各メソッドを参照してください。

あなたがnameUUIDFromBytes (byte[] name)を呼び出すときに、それは、再び、128ビット汎用一意識別子の不変の表現であるan UUID instanceを返します。

これは、バイトがユニークな識別子にハッシュされ、元のバイトに戻すことができないことを意味します。

バイトをハッシングする目的は何ですか?また、それを元に戻す理由は何ですか?あなたの質問でそれを指定した場合、私はこのポストを編集してさらなる助けをします。しかし、今のところこれが答えです。

+1

それは誰かからの悪い提案でした。ご回答有難うございます。 – andymal

-4

あなたはこれを持って想像:

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

それだけでtoString()メソッドを使用、シンプルだStringに変換するには:名前ベースのUUIDは、入力文字列をマップするためにハッシュ関数を使用し

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

を固定数のビットに変換する。ハッシュ関数は損失があり、一般的に可逆的ではありません。