Java中最简单的方法是将String转换为UUID

Guy*_*sky 11 java uuid

如何从String生成有效的UUID?单独的字符串不是我正在寻找的.相反,我正在寻找类似哈希函数的东西,将任何String转换为有效的UUID.

Chr*_*tin 8

在Java核心库中,有java.util.UUID.nameUUIDFromBytes(byte[]).

我不推荐它,因为它是基于MD5的UUID 3,这是一个非常破碎的哈希函数.你最好找到一个基于SHA-1的UUID 5的实现(虽然也有点破坏).

  • MD5 出于安全目的而被破坏,但对于散列来说很好,具有[低冲突率](/sf/ask/14119381/) (2认同)

Raj*_*Raj 7

试试看:

String superSecretId = "f000aa01-0451-4000-b000-000000000000";
UUID.fromString(superSecretId);
Run Code Online (Sandbox Code Playgroud)

我在我的项目中正在使用它,并且可以正常工作。确保您导入正确的内容。

  • 这不是操作员所要求的。 (3认同)
  • 此方法仅从UUID的字符串表示形式转换为UUID。不适用于任何字符串。https://docs.oracle.com/javase/8/docs/api/java/util/UUID.html#toString-- (2认同)
  • 这不会将 __ANY__ 字符串哈希为 UUID (2认同)