我读过的man页面,但我不已了解了name和namespace是.
对于版本3和版本5 UUID,必须提供附加命令行参数命名空间和名称.命名空间是字符串表示形式的UUID或内部预定义命名空间UUID的标识符(当前已知为"ns:DNS","ns:URL","ns:OID"和"ns:X500").名称是一个任意长度的字符串.
命名空间:
命名空间是字符串表示形式的UUID或
这是否意味着我需要将它(UUID v4)存储在与生成的UUID v5相关的某个地方?在任何一种情况下,为什么这不是自动完成的?
名称是一个任意长度的字符串.
name完全随机的字符串?它的目的是什么呢?可以从UUID v5解码吗?
问题是如何将ByteArray转换为GUID.
以前我将我的guid转换为字节数组,在一些事务之后我需要从字节数组中返回guid.我怎么做.尽管不相关但从Guid到byte []的转换如下
public static byte[] getByteArrayFromGuid(String str)
{
UUID uuid = UUID.fromString(str);
ByteBuffer bb = ByteBuffer.wrap(new byte[16]);
bb.putLong(uuid.getMostSignificantBits());
bb.putLong(uuid.getLeastSignificantBits());
return bb.array();
}
Run Code Online (Sandbox Code Playgroud)
但是如何将其转换回来?
我试过这个方法,但它没有给我相同的价值
public static String getGuidFromByteArray(byte[] bytes)
{
UUID uuid = UUID.nameUUIDFromBytes(bytes);
return uuid.toString();
}
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激.
我找到了这个答案有没有办法根据 JDK 或某个库中的种子字符串生成相同的 UUID?但这是java方式。
我需要相同,但在javascript 中,我可以使用任何 npm 模块或任何库或自定义函数。
您可以通过这种方式使用 UUID 来始终为您的输入字符串获取相同的 UUID:
String aString="JUST_A_TEST_STRING";
字符串结果 = UUID.nameUUIDFromBytes(aString.getBytes()).toString();
我想从随机字符串生成一个UUID字符串,以便相同的输入字符串生成相同的UUID。
我不关心从 UUID 获取输入字符串。作为迁移的一部分,我需要它来确定性地转换数据库中的密钥,以便并行操作的不同客户端收敛到相同的结果。
这篇文章接受的答案有 Java 中的答案,我需要 Swift 版本。