Sqids - это библиотека с открытым исходным кодом, которая позволяет генерировать короткие уникальные идентификаторы из чисел. Эти идентификаторы безопасны для URL, могут кодировать несколько чисел и не содержат обычные слова из списка непристойной лексики. Подробнее .
Вот как они выглядят:
Быстрый пример кодирования и декодирования:
SELECT sqids_encode(1, 2, 3); -- 86Rf07
SELECT sqids_decode('86Rf07'); -- {1,2,3}
Если идентификаторы слишком короткие, вы можете дополнить их до определенной длины:
SELECT sqids_encode(10::smallint, 1, 2, 3); -- 86Rf07xd4z
SELECT sqids_decode(10::smallint, '86Rf07xd4z'); -- {1,2,3}
Создание уникальных идентификаторов путем перемешивания алфавита:
SELECT sqids_encode('k3G7QAe51FCsPW92uEOyq4Bg6Sp8YzVTmnU0liwDdHXLajZrfxNhobJIRcMvKt', 1, 2, 3); -- XRKUdQ
SELECT sqids_decode('k3G7QAe51FCsPW92uEOyq4Bg6Sp8YzVTmnU0liwDdHXLajZrfxNhobJIRcMvKt', 'XRKUdQ'); -- {1,2,3}
Полная документация находится на https://github.com/sqids/sqids-postgresql
Если вы ищете оригинальный Hashids PostgreSQL, вы можете найти его здесь: https://github.com/iCyberon/pg_hashids
Основное применение Sqids - это чисто визуальное. Если вы хотите использовать идентификаторы вместо чисел в своем проекте, Sqids может быть хорошим выбором.