Sqids é uma biblioteca de código aberto que permite gerar identificadores únicos curtos a partir de números. Esses IDs são seguros para URLs, podem codificar vários números e não contêm palavras de baixo calão comuns. Leia mais .
Assim é como eles se parecem:
Exemplo rápido de codificação e decodificação:
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;
Se os IDs forem muito curtos, você pode preenchê-los até um certo comprimento:
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;
Crie IDs únicos embaralhando o 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;
A documentação completa está em https://github.com/sqids/sqids-pascal
O principal uso de Sqids é puramente visual. Se você deseja usar IDs em vez de números em seu projeto, Sqids pode ser uma boa escolha.