Sqids to biblioteka typu open-source, która pozwala generować krótkie, unikatowe identyfikatory na podstawie liczb. Identyfikatory te są bezpieczne dla adresów URL, mogą kodować kilka liczb i nie zawierają popularnych wulgaryzmów. Czytaj więcej .
Oto jak one wyglądają:
Szybki przykład szyfrowania i deszyfrowania:
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
Jeśli identyfikatory są zbyt krótkie, możesz je wydłużyć do określonej długości:
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
Twórz unikalne identyfikatory poprzez przetasowywanie alfabetu:
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
Pełna dokumentacja znajduje się na https://github.com/sqids/sqids-c
Jeśli szukasz oryginalnego Hashids C, znajdziesz go tutaj: https://github.com/tzvetkoff/hashids.c
Głównym zastosowaniem Sqids jest aspekt wizualny. Jeśli chcesz używać identyfikatorów zamiast liczb w swoim projekcie, Sqids może być dobrym wyborem.