我要将 UUID 转换为 CRC32,如下所示:
public static long crc32(String input) {
byte[] bytes = input.getBytes();
Checksum checksum = new CRC32();
checksum.update(bytes, 0, bytes.length);
return checksum.getValue();
}
String uuid1 = UUID.randomUUID().toString;
String uuid2 = UUID.randomUUID().toString;
long crc32_1 = crc32(uuid1);
long crc32_2 = crc32(uuid2);
在 uuid1
和 uuid2
100% 不同的情况下,crc32_1
和 crc32_2
是否有可能相等> ?
最佳答案
是的。两个不同 UUID 的 CRC 相等的可能性为二分之一32。由于只有 77,164 个 UUID,其中两个 UUID 具有相同 CRC-32 的可能性为 50%。
关于java - UUID 到 CRC32 的转换和可能的冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42221148/