比较Java中的UUID
如果字符串相等,Java中字符串对象的UUID是否相同?如果没有,是否有一种方法/工具来生成字符串(使用正确的UUID格式),如果在相等的字符串上计算,该字符串将保持不变?我需要某种字符串哈希,保持UUID格式。Java中有类似的东西吗 [编辑]: 你可能会问我到底想做什么。我正在制作应用程序的一部分,将对象从一个服务转换到另一个服务。其中一个通过UUID服务于标识对象。第二,不要储存它。我不想缓存这些服务的全部数据,所以我必须以某种方式生成UUID 如果字符串相等,Java中字符串对象的UUID是否相同 不,因为这打印的是假的:比较Java中的UUID,java,hash,uuid,Java,Hash,Uuid,如果字符串相等,Java中字符串对象的UUID是否相同?如果没有,是否有一种方法/工具来生成字符串(使用正确的UUID格式),如果在相等的字符串上计算,该字符串将保持不变?我需要某种字符串哈希,保持UUID格式。Java中有类似的东西吗 [编辑]: 你可能会问我到底想做什么。我正在制作应用程序的一部分,将对象从一个服务转换到另一个服务。其中一个通过UUID服务于标识对象。第二,不要储存它。我不想缓存这些服务的全部数据,所以我必须以某种方式生成UUID 如果字符串相等,Java中字符串对象的UUI
final String s = "Mémé dans les orties try this
MessageDigest md = MessageDigest.getInstance("MD5");
md.update("test".getBytes());
byte[] a = md.digest(); // 16 bytes for MD5
ByteBuffer bb = ByteBuffer.wrap(a);
long l1 = bb.getLong();
long l2 = bb.getLong();
UUID uuid = new UUID(l1, l2);
System.out.println(uuid);
final String s=“MéMédans les orties试试这个
UUID id1 = UUID.randomUUID();
String s = id1.toString();
UUID id2 = UUID.fromString(s);
assertTrue(id1, id2);
是的。您只需使用UUID.fromString()
,结果为UUID.toString()
:
您想要基于名称的UUID吗?如果您使用标准字符集将字符串
转换为字节[]
(我现在正在这样做,并使用UTF-8)。呃,UUID不是散列…这里回答了类似的问题:我不明白“我需要某种字符串散列,以保持UUID格式。”您能举个例子吗?