Алгоритм генерации уникальной последовательности цифр

  • Автор темы Автор темы beba
  • Дата начала Дата начала
ахаха, естественно у тебя коллизий так много )))
$sum = hexdec(substr($v,0,1))+hexdec(substr($v,1,1))+hexdec(substr($v,2,1))+hexdec(substr($v,3,1))+hexdec(substr($v,4,1))+hexdec(substr($v,5,1));
вот это вот жутко вариативность снижает.

Убери цикл и замени его этим вот:
PHP:
    $hash = sprintf('%f', hexdec(md5($input)));
    $slice = substr($hash, 0, 10);

Так у тебя коллизий будет сильно меньше, но я бы всё таки сделал отдельную таблицу соответствий.

-~{}~ 04.11.10 00:53:

с коррекцией коллизий. из какого-то хеша собираешь себе как-то 7-8 цифр, потом проверяешь коллизию и добавляешь счетчик коллизий в 1-2 разряда.
dimagolov
фигня это, а не коррекция коллизий.

суть хэша - ставить в однозначное соответствие входную строку - выходной строке. у этой функции одно входное значение и одно выходное. только в этом случае хэш имеет смысл.

используя твой подход - он никогда, повторю, никогда не сможет хэш сопоставить с исходным значением.
 
спасибо еще раз, как раз собирался так делать.. исходя из сообщений..

всем спасибо за обсуждения, думаю тему можно закрыть..

всем удачного дня
 
Извините, зря написал, всё самое лучшее уже написано.
 
Сверху