Sqids sayılarından kısa eşsiz tanımlayıcılar oluşturmanıza izin veren açık kaynaklı bir kütüphanedir. Bu kimlikler URL'ye uygun, birkaç sayıyı kodlayabilir ve yaygın küfür içermemektedir. Daha Fazla Oku .
Bunlar nasıl görünüyor:
Hızlı kodlama ve kod çözme örneği:
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
Eğer kimlikler çok kısa ise, onları belirli bir uzunluğa kadar doldurabilirsiniz:
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
Alfabeyi karıştırarak benzersiz kimlikler oluştur:
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
Tam belge burada bulunmaktadır https://github.com/sqids/sqids-c
Orijinal Hashids C'i arıyorsanız, burada bulabilirsiniz: https://github.com/tzvetkoff/hashids.c
Sqids ana kullanımı tamamen görseldir. Projede sayılar yerine kimlik kullanmak isterseniz, Sqids iyi bir seçenek olabilir.