¿Qué es Sqids?

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:

https://example.com/Lqj8a0

Ejemplo rápido de codificación y decodificación:

config = Sqids.configure()
id = Sqids.encode(config, [1, 2, 3]) # "86Rf07"
numbers = Sqids.decode(config, id) # [1, 2, 3]

Si los IDs son muy cortos, puedes rellenarlos hasta cierta longitud:

config = Sqids.configure(minLength=10)
id = Sqids.encode(config, [1, 2, 3]) # "86Rf07xd4z"
numbers = Sqids.decode(config, id) # [1, 2, 3]

Crea IDs únicos al barajar el alfabeto:

config = Sqids.configure(alphabet="k3G7QAe51FCsPW92uEOyq4Bg6Sp8YzVTmnU0liwDdHXLajZrfxNhobJIRcMvKt")
id = Sqids.encode(config, [1, 2, 3]) # "XRKUdQ"
numbers = Sqids.decode(config, id) # [1, 2, 3]

La documentación completa está en https://github.com/sqids/sqids-julia

Si estás buscando el Hashids Julia original, puedes encontrarlo aquí: https://github.com/antimon2/Hashids.jl

Casos de uso

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.

Bueno Para

  • Codificación de claves primarias Si estás usando una base de datos relacional
  • Ahorro de consultas a la base de datos Al codificar varios objetos
  • Tokens de inicio de sesión temporales Libre de vulgaridades y seguro para URL

No Bueno Para

  • Datos sensibles Esto no es una biblioteca de encriptación
  • IDs de Usuario Puede revelar la cantidad de usuarios si alguien descubre el alfabeto de codificación

Características

  • 🆔 Generar IDs cortos a partir de números no negativos
  • Codificación y decodificación sencillas
  • 🫣 Los IDs autogenerados no contienen palabras malsonantes comunes
  • 🎲 Soporte para IDs personalizados a través de un alfabeto aleatorio
  • 🥳 45 integraciones (84% utilizan un nuevo diseño)
  • 📌 Cada versión produce los mismos IDs
  • 🍻 Biblioteca pequeña con una licencia permisiva

Ejemplo / Playground