Более короткий UUID, ASCII85 с PHP

Я читал об UUID v4, и он практически уникален, и это то, что мне нужно. Проблема в том, что это слишком большое число, возможно ли генерировать UUID, такие как Facebook или Twitter с меньшим количеством символов?

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

--- Редактировать ---

@ Дэвид Шварц

Благодарю. Мне нужен случайный уникальный идентификатор на одном сервере, от 8 до 16 символов (хорошо, 20, если это самый низкий). Идея в том, чтобы идентифицировать объекты с читаемыми идентификаторами, но НЕ инкрементально (первый объект 10001, второй 10002), способ 542A4B243J, C63426KJ70, O30V4U1I9P и т. Д. - это хорошо. Идентификаторы необходимы, чтобы быть первичными ключами (как минимум) 6 таблиц MySQL. Объекты создаются с помощью PHP на одном сервере.

@ ta.speot.is

Я написал: "Не вижу надежного сценария PHP, выполняющего работу. Кто-то знает проверенный класс??" Я не думаю, что весь код, отображаемый в Google, проверен, возможно, вы проверяли все ссылки?

@sarnold

Спасибо, но извините, не поняла хорошо =(

1 ответ

Я столкнулся с той же проблемой для корпоративного проекта, над которым работал, и не смог найти разумного и быстрого решения в PHP. Поэтому я решил написать расширение PHP, которое можно использовать для кодирования / декодирования данных с помощью base85/ascii85.

Вы можете проверить это здесь: https://github.com/miezuit/php-base85

Это проверено, используя набор автоматизированных тестов.

Другие вопросы по тегам