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:
sqids_t *sqids = sqids_new(SQIDS_DEFAULT_ALPHABET, 0, sqids_bl_list_all(NULL));
unsigned long long nums[] = {1, 2, 3};
char *hash = sqids_encode(sqids, 3, nums); // => "86Rf07"
sqids_decode(sqids, hash, nums, 3); // => 3
Se os IDs forem muito curtos, você pode preenchê-los até um certo comprimento:
sqids_t *sqids = sqids_new(SQIDS_DEFAULT_ALPHABET, 10, sqids_bl_list_all(NULL));
unsigned long long nums[] = {1, 2, 3};
char *hash = sqids_encode(sqids, 3, nums); // => "86Rf07xd4z"
sqids_decode(sqids, hash, nums, 3); // => 3
Crie IDs únicos embaralhando o alfabeto:
sqids_t *sqids = sqids_new("k3G7QAe51FCsPW92uEOyq4Bg6Sp8YzVTmnU0liwDdHXLajZrfxNhobJIRcMvKt", 0, sqids_bl_list_all(NULL));
unsigned long long nums[] = {1, 2, 3};
char *hash = sqids_encode(sqids, 3, nums); // => "XRKUdQ"
sqids_decode(sqids, hash, nums, 3); // => 3
A documentação completa está em https://github.com/sqids/sqids-c
Se você está procurando pelo Hashids C original, você pode encontrá-lo aqui: https://github.com/tzvetkoff/hashids.c
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.