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:
{:ok, sqids} = Sqids.new()
id = Sqids.encode!(sqids, [1, 2, 3]) # 86Rf07
numbers = Sqids.decode!(sqids, id) # [1, 2, 3]
Si los IDs son muy cortos, puedes rellenarlos hasta cierta longitud:
{:ok, sqids} = Sqids.new(min_length: 10)
id = Sqids.encode!(sqids, [1, 2, 3]) # 86Rf07xd4z
numbers = Sqids.decode!(sqids, id) # [1, 2, 3]
Crea IDs únicos al barajar el alfabeto:
{:ok, sqids} = Sqids.new(alphabet: "k3G7QAe51FCsPW92uEOyq4Bg6Sp8YzVTmnU0liwDdHXLajZrfxNhobJIRcMvKt")
id = Sqids.encode!(sqids, [1, 2, 3]) # XRKUdQ
numbers = Sqids.decode!(sqids, id) # [1, 2, 3]
La documentación completa está en https://github.com/sqids/sqids-elixir
Si estás buscando el Hashids Elixir original, puedes encontrarlo aquí: https://github.com/alco/hashids-elixir
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.