如何解决java.util.UUID.randomUUIDtoString长度
java.util.UUID.randomUUID()。toString()的长度是否始终等于36?
它是。
甲UUID
实际上是一个128位的值(2长)。为了将128位表示为十六进制字符串,将有一个128/4=32
char(每个char为4位长)。字符串格式还包含4(-
),这就是长度为36的原因。
例: 54947df8-0e9e-4471-a2f9-9af509fb5889
32个十六进制字符+ 4个连字符= 36个字符。因此长度将始终相同。
更新:
我不知道第4种情况是什么意思?
仅供参考:有几种生成UUID的方法。在这里,类型4表示此uuid是使用随机数或伪随机数生成的。从Wiki-Universally_unique_identifier#Versions:
版本号
对于版本1和2,标准中定义了五个“版本”,在特定的用例中,每个版本可能比其他版本更合适。版本由字符串表示中的M表示。
UUID是根据时间和节点ID(通常是MAC地址)生成的;
UUID由标识符(通常是组或用户ID),时间和节点ID生成;
通过对名称空间标识符和名称进行哈希处理来生成确定性UUID。
和 的UUID使用随机或伪随机数生成。
解决方法
java.util.UUID.randomUUID()。toString()的长度是否始终等于36?
我找不到有关的信息。这里只说以下几点:
公共静态UUID
randomUUID()静态工厂,用于检索类型4(伪随机生成的)UUID。使用加密强度高的伪随机数生成器生成UUID。返回:随机生成的UUID
那type 4
什么也没告诉我。我不知道类型4在这种情况下意味着什么。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。