Sqids - це бібліотека з відкритим вихідним кодом, яка дозволяє генерувати короткі унікальні ідентифікатори з чисел. Ці ідентифікатори безпечні для URL, можуть кодувати кілька чисел і не містять спільних нецензурних слів. Дізнатися більше .
Отак вони виглядають:
Швидкий приклад кодування та декодування:
(def sqids
(sqids/sqids))
(def id
(sqids/encode sqids [1 2 3])) ; "86Rf07"
(def numbers
(sqids/decode sqids id)) ; [1 2 3]
Якщо ID занадто короткі, ви можете доповнити їх до певної довжини:
(def sqids
(sqids/sqids {:min-length 10}))
(def id
(sqids/encode sqids [1 2 3])) ; "86Rf07xd4z"
(def numbers
(sqids/decode sqids id)) ; [1 2 3]
Створіть унікальні ID, переставляючи алфавіт:
(def sqids
(sqids/sqids {:alphabet "k3G7QAe51FCsPW92uEOyq4Bg6Sp8YzVTmnU0liwDdHXLajZrfxNhobJIRcMvKt"}))
(def id
(sqids/encode sqids [1 2 3])) ; "XRKUdQ"
(def numbers
(sqids/decode sqids id)) ; [1 2 3]
Повна документація доступна на https://github.com/sqids/sqids-clojure
Якщо ви шукаєте оригінальний Hashids Clojure, ви можете знайти його тут: https://github.com/jstrutz/hashids.clj
Основне використання Sqids - це виключно візуальне. Якщо ви хочете використовувати ідентифікатори замість чисел у своєму проекті, Sqids може бути хорошим вибором.