Как создать удобные уникальные идентификаторы, UUID или другие уникальные идентификаторы в Java

Я обычно использую класс UUID для генерации уникальных идентификаторов. Это отлично работает, если эти идентификаторы используются только техническими системами, им все равно, как долго они:

System.out.println(UUID.randomUUID().toString());

> 67849f28-c0af-46c7-8421-94f0642e5d4d

Есть ли хороший способ создать удобные для пользователя уникальные идентификаторы (например, из tinyurl), которые немного короче, чем UUID? Вариант использования: вы хотите отправить идентификаторы по почте своим клиентам, которые, в свою очередь, посещают ваш сайт и вводят этот номер в форму, например идентификатор ваучера.

Я предполагаю, что UUID генерируются одинаково во всем диапазоне 128-битного диапазона UUID. Так будет ли разумно использовать, например, только нижние 64 бита?

System.out.println(UUID.randomUUID().getLeastSignificantBits());

Любая обратная связь приветствуется.

12
задан basZero 12 January 2011 в 08:28
поделиться