Создание уникальных GID

Я работаю над способом создания уникальных идентификаторов GID и хотел бы получить мнение по поводу следующего кода. Идея заключается в том, что он должен создать идентификатор, уникальный для определенного IP-адреса, в течение 1 секунды (помогает предотвратить многократные публикации) и быть как можно более коротким.

Вот код в PHP:

$gid = base_convert(dechex(str_replace(".", "", $_SERVER['REMOTE_ADDR'])) . dechex(time()), 10, 36);

Это производит идентификаторы, такие как эти:

qdkgzfvim
4ge6gesv
cztme7e4t
45qqcvq

Любое мнение относительно того, будет ли это производить уникальные идентификаторы? Могут ли быть столкновения? Должен ли я дополнить числа 0?

-2

Решение

Запустите тест:

$part2 = dechex(time());

echo '<br/>' . $part2;

echo '<br/>' . base_convert($part2, 10, 36);

echo '<br/>' . base_convert(base_convert($part2, 10, 36), 36, 10);

Производит что-то вроде:

5435a0e0
bnd8
543500

Это потеря данных. Так что это не обратимо, поэтому он может потерять предполагаемую уникальность.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]