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:
var
Id: string;
Numbers: TNumbers;
begin
with TSqids.Create do
try
Id := Encode([1, 2, 3]); // '86Rf07'
Numbers := Decode(Id); // [1, 2, 3]
finally
Free;
end;
end;
Si los IDs son muy cortos, puedes rellenarlos hasta cierta longitud:
var
Id: string;
Numbers: TNumbers;
begin
with TSqids.Create(10) do
try
Id := Encode([1, 2, 3]); // '86Rf07xd4z'
Numbers := Decode(Id); // [1, 2, 3]
finally
Free;
end;
end;
Crea IDs únicos al barajar el alfabeto:
var
Id: string;
Numbers: TNumbers;
begin
with TSqids.Create('k3G7QAe51FCsPW92uEOyq4Bg6Sp8YzVTmnU0liwDdHXLajZrfxNhobJIRcMvKt') do
try
Id := Encode([1, 2, 3]); // 'XRKUdQ'
Numbers := Decode(Id); // [1, 2, 3]
finally
Free;
end;
end;
La documentación completa está en https://github.com/sqids/sqids-pascal
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.