java - UUID 到 CRC32 的转换和可能的冲突

标签 java uuid crc32

我要将 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);

uuid1uuid2 100% 不同的情况下,crc32_1crc32_2 是否有可能相等> ?

最佳答案

是的。两个不同 UUID 的 CRC 相等的可能性为二分之一32。由于只有 77,164 个 UUID,其中两个 UUID 具有相同 CRC-32 的可能性为 50%。

关于java - UUID 到 CRC32 的转换和可能的冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42221148/

相关文章:

java - 日历时区,它是如何工作的?

java - 有没有办法从网络应用程序读取目录的内容

java - 线程 :Snake game 中出现异常

c++ - 使用 constexpr 函数替代 reinterpret_cast

linux - 使用gunzip计算一个字符串的crc32码

java - 如何在 Websphere 8.5.5 数据库连接中将 autoCommit 设置为 false

php - 在 PHP 中生成唯一 ID

ios - NSUUID().UUIDString 值在 Xcode 模拟器上发生变化

java - 如何将两个 long 转换为字节数组 = 如何将 UUID 转换为字节数组?

javascript - 如何为Ogg建立CRC32表?