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

zerkms

TDD infected
Команда форума
ахаха, естественно у тебя коллизий так много )))
$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
фигня это, а не коррекция коллизий.

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

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

beba

Новичок
спасибо еще раз, как раз собирался так делать.. исходя из сообщений..

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

всем удачного дня
 

a_[w]

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