Java 将UUID转换回字符串输入-nameuidFromBytes
我正在使用函数Java 将UUID转换回字符串输入-nameuidFromBytes,java,Java,我正在使用函数UUID.nameuidFromBytes(byte[])将字符串转换为UUID。一旦获得UUID,是否可以将其转换回原始字符串?想象一下: UUID uuid = UUID.nameUUIDFromBytes(byte[]); 要转换为字符串非常简单,只需使用toString()方法: String original = uuid.toString(); 基于名称的UUID使用哈希函数将输入字符串映射到固定位数。散列函数是有损函数,通常是不可逆的 以下是UUID的类描述 U
UUID.nameuidFromBytes(byte[])
将字符串转换为UUID。一旦获得UUID,是否可以将其转换回原始字符串?想象一下:
UUID uuid = UUID.nameUUIDFromBytes(byte[]);
要转换为字符串
非常简单,只需使用toString()
方法:
String original = uuid.toString();
基于名称的UUID使用哈希函数将输入字符串映射到固定位数。散列函数是有损函数,通常是不可逆的 以下是UUID的类描述 UUID是128位通用唯一标识符(UUID)的不可变表示形式 UUID有多种不同的布局,但该类基于RFC4122的变体2,即Leach-Salz变体。该类可用于对替代变量建模,但在这些情况下,大多数方法将不受支持;有关详细信息,请参见每个方法 因此,当您调用
nameuidfrombytes(byte[]name)
时,它将返回一个UUID实例
,它同样是128位通用唯一标识符的不可变表示形式
这意味着字节现在被散列成一个唯一的标识符,并且不可反转为原始字节
散列字节的目的是什么?为什么要反转它?如果你在你的问题中指明了这一点,我将编辑这篇文章以提供进一步的帮助。但现在这就是答案。这并没有给出名称。转换前字符串=000059dba6073a0000000b40411988 UUID=bfab57e7-d89c-300a-9934-64060b959736 UUID.toString=bfab57e7-d89c-300a-9934-64060b959736这不起作用。实际上,uuid.toString()将返回一个不可变的字符串。我很确定不需要声明“为什么”他/她想要反转转换。问题特别是“如何”做……就是这样。