Я читал о UUID v4, и это практически уникально, и это то, что мне нужно. Проблема в том, что это слишком большое число, возможно ли генерировать UUID, например Facebook или Twitter, с меньшим количеством символов?
Я прочитал сообщение, где вы можете сжать этот код до 20 с помощью Ascii85, но не видите надежного PHP-скрипта, выполняющего эту работу. Кто-то знает проверенный класс? для случайных ID это лучший способ сохранить этот 20 символов, правильно?
— Редактировать —
@ Дэвид Шварц
Благодарю. Мне нужен случайный уникальный идентификатор на одном сервере, между 8 и 16 символами (ok 20 отлично, если он самый низкий). Идея состоит в том, чтобы идентифицировать объекты с читаемыми идентификаторами, но НЕ инкрементальными (первый объект 10001, второй 10002), способ 542A4B243J, C63426KJ70, O30V4U1I9P и т. Д. В порядке. Идентификаторы должны быть первичными ключами на (по крайней мере) 6 таблицах MySQL. Objets создаются с PHP на одном сервере.
@ ta.speot.is
Я написал: «Не вижу надежного PHP-скрипта, выполняющего эту работу. Кто-то знает проверенный класс?» Я не думаю, что все коды, появляющиеся в google, протестированы, вы проверили все ссылки, может быть?
@sarnold
Спасибо, но я сожалею, не понял хорошо = (
Я столкнулся с такой же проблемой для корпоративного проекта, над которым я работал, и я не смог найти разумное проверенное и быстрое решение на PHP. Поэтому я решил написать расширение PHP, которое можно использовать для кодирования / декодирования данных с помощью base85 / ascii85.
Вы можете проверить это здесь: https://github.com/miezuit/php-base85
Он тестируется с использованием набора автоматизированных тестов.