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