Sqids é uma biblioteca de código aberto que permite gerar identificadores únicos curtos a partir de números. Esses IDs são seguros para URLs, podem codificar vários números e não contêm palavras de baixo calão comuns. Leia mais .
Assim é como eles se parecem:
Exemplo rápido de codificação e decodificação:
(def sqids
(sqids/sqids))
(def id
(sqids/encode sqids [1 2 3])) ; "86Rf07"
(def numbers
(sqids/decode sqids id)) ; [1 2 3]
Se os IDs forem muito curtos, você pode preenchê-los até um certo comprimento:
(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]
Crie IDs únicos embaralhando o alfabeto:
(def sqids
(sqids/sqids {:alphabet "k3G7QAe51FCsPW92uEOyq4Bg6Sp8YzVTmnU0liwDdHXLajZrfxNhobJIRcMvKt"}))
(def id
(sqids/encode sqids [1 2 3])) ; "XRKUdQ"
(def numbers
(sqids/decode sqids id)) ; [1 2 3]
A documentação completa está em https://github.com/sqids/sqids-clojure
Se você está procurando pelo Hashids Clojure original, você pode encontrá-lo aqui: https://github.com/jstrutz/hashids.clj
O principal uso de Sqids é puramente visual. Se você deseja usar IDs em vez de números em seu projeto, Sqids pode ser uma boa escolha.