gpt4 book ai didi

java - UUID.randomUUID() 与 SecureRandom

转载 作者:搜寻专家 更新时间:2023-10-30 19:51:53 25 4
gpt4 key购买 nike

我试图了解使用 UUID.randomUUID() 相对于 SecureRandom 生成器的优势,因为前者在内部使用 securerandom。

最佳答案

嗯,source code显示UUID.randomUUID使用 SecureRandom .

public static UUID  [More ...] randomUUID() {
SecureRandom ng = numberGenerator;
if (ng == null) {
numberGenerator = ng = new SecureRandom();
}
byte[] randomBytes = new byte[16];
ng.nextBytes(randomBytes);
randomBytes[6] &= 0x0f; /* clear version */
randomBytes[6] |= 0x40; /* set to version 4 */
randomBytes[8] &= 0x3f; /* clear variant */
randomBytes[8] |= 0x80; /* set to IETF variant */
return new UUID(randomBytes);
}

如您所见,您可以使用其中任何一种,但在安全的 UUID 中,您有 6 个非随机位,如果您挑剔的话,这可以被认为是一个缺点。

关于java - UUID.randomUUID() 与 SecureRandom,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39786902/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com