我正在使用函数UUID.nameUUIDFromBytes(byte[])
将字符串转换为UUID。一旦获得UUID,是否可以转换回原始字符串?
答案 0 :(得分:11)
这里是UUID的类描述
UUID是128位通用唯一标识符(UUID)的不可变表示。
UUID有多种不同的布局,但这个类基于RFC 4122的变体2,即Leach-Salz变体。此类可用于建模替代变体,但在这些情况下,大多数方法都不受支持;有关详细信息,请参阅每种方法。
因此,当您致电nameUUIDFromBytes (byte[] name)
时,它将返回an UUID instance
,这又是128位通用唯一标识符的不可变表示。
这意味着字节现在被散列为唯一标识符,并且不会在原始字节中可逆。
哈希字节的目的是什么?为什么要反转它?如果您在问题中指明,我将编辑此帖子以提供进一步的帮助。但现在这就是答案。
答案 1 :(得分:2)
基于名称的UUID使用散列函数将输入字符串映射到固定数量的位。散列函数是有损的,通常不可逆。
答案 2 :(得分:-5)
想象一下你有这个:
UUID uuid = UUID.nameUUIDFromBytes(byte[]);
要转换为String
它很简单,只需使用toString()
方法:
String original = uuid.toString();