мы используем md5 в качестве алгоритма хеширования во многих частях нашего кода.
безопасность в этом контексте НЕ является проблемой. мы просто используем md5 как метод генерации уникального идентификатора для хранения различных элементов в apc и т. д.
коллизии являются проблемой. хотя маловероятно, это вызовет серьезные проблемы.
Кто-нибудь хочет предложить что-то более легкое для процессора?
Спасибо.
мы только что провели некоторое тестирование с md5 и crc32.
с использованием следующего фрагмента:
<?
$start=microtime(true);
for($i=1;$i<=1000000;$i++){
md5(rand(10000000,99999999)); <--- crc32 tested here too.
}
$end=microtime(true);
echo $end-$start."\n";
?>
результаты следующие:
md5:
1.4991459846497
1.7893800735474
1.4672470092773
crc32:
0.97880411148071
0.94331979751587
0.93316197395325
, поэтому, похоже, crc32 - это примерно на 1/3 быстрее, чем при использовании md5.