Php CRC32从前10^5个整数创建的哈希冲突?

Php CRC32从前10^5个整数创建的哈希冲突?,php,hash,unique,Php,Hash,Unique,我正在尝试创建一个包含10万个8个唯一字符串的数组。对于输入,我有一个从1到100.000的整数数组。我计划使用crc32。我能假设不会有碰撞吗? 另外,我只担心碰撞。 $result=array(); 对于($i=1;$i),这是一个简单的“试试看”的例子。不需要使用crc32()并且只需要简单的整数作为输入,只需执行AAAAA AAAAA B等即可生成唯一的8个字符串。如果您对可猜测性等有任何其他要求,8个字符可能不够(至少在仅使用[a-f0-9]时不够)。你可能想用更多的细节来扩展你的问题

我正在尝试创建一个包含10万个8个唯一字符串的数组。对于输入,我有一个从1到100.000的整数数组。我计划使用crc32。我能假设不会有碰撞吗? 另外,我只担心碰撞。

$result=array();

对于($i=1;$i),这是一个简单的“试试看”的例子。不需要使用crc32()并且只需要简单的整数作为输入,只需执行AAAAA AAAAA B等即可生成唯一的8个字符串。如果您对可猜测性等有任何其他要求,8个字符可能不够(至少在仅使用[a-f0-9]时不够)。你可能想用更多的细节来扩展你的问题。听起来像是school@Akhil-当33位CRC-32完全足够时,为什么要使用128位哈希?如果唯一是($i=0)的唯一要求
$i@MarkBaker检查上面的问题这没问题,我只需要替换
$result[sprintf(''u%u',crc32($I))]=true
$result[哈希(“crc32”,$userID)]
谢谢!
$result = array();

for ($i = 1; $i <= 100000; ++$i) $result[sprintf('_%u', crc32($i))] = true;

if (count($result) == 100000)
{
    echo 'Yes, you can use CRC32.';
}

else
{
    echo 'Ooops, you better use another algorithm.';
}