Sqids es una biblioteca de código abierto que te permite generar identificadores cortos únicos a partir de números. Estos IDs son seguros para URL, pueden codificar varios números y no contienen palabras malsonantes comunes. Leer más .
Así es cómo lucen:
Ejemplo rápido de codificación y decodificación:
(def sqids
(sqids/sqids))
(def id
(sqids/encode sqids [1 2 3])) ; "86Rf07"
(def numbers
(sqids/decode sqids id)) ; [1 2 3]
Si los IDs son muy cortos, puedes rellenarlos hasta cierta longitud:
(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]
Crea IDs únicos al barajar el 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]
La documentación completa está en https://github.com/sqids/sqids-clojure
Si estás buscando el Hashids Clojure original, puedes encontrarlo aquí: https://github.com/jstrutz/hashids.clj
El uso principal de Sqids es puramente visual. Si prefieres usar IDs en lugar de números en tu proyecto, Sqids podría ser una buena elección.