Sqids - это библиотека с открытым исходным кодом, которая позволяет генерировать короткие уникальные идентификаторы из чисел. Эти идентификаторы безопасны для URL, могут кодировать несколько чисел и не содержат обычные слова из списка непристойной лексики. Подробнее .
Вот как они выглядят:
Быстрый пример кодирования и декодирования:
Sqids sqids=Sqids.builder().build();
String id=sqids.encode(Arrays.asList(1L,2L,3L)); // "86Rf07"
List<Long> numbers=sqids.decode(id); // [1, 2, 3]
Если идентификаторы слишком короткие, вы можете дополнить их до определенной длины:
Sqids sqids=Sqids.builder()
.minLength(10)
.build();
String id=sqids.encode(Arrays.asList(1L,2L,3L)); // "86Rf07xd4z"
List<Long> numbers=sqids.decode(id); // [1, 2, 3]
Создание уникальных идентификаторов путем перемешивания алфавита:
Sqids sqids=Sqids.builder()
.alphabet("k3G7QAe51FCsPW92uEOyq4Bg6Sp8YzVTmnU0liwDdHXLajZrfxNhobJIRcMvKt")
.build();
String id=sqids.encode(Arrays.asList(1L,2L,3L)); // "XRKUdQ"
List<Long> numbers=sqids.decode(id); // [1, 2, 3]
Полная документация находится на https://github.com/sqids/sqids-java
Если вы ищете оригинальный Hashids Java, вы можете найти его здесь: https://github.com/yomorun/hashids-java
Основное применение Sqids - это чисто визуальное. Если вы хотите использовать идентификаторы вместо чисел в своем проекте, Sqids может быть хорошим выбором.