Apa itu Sqids?

Sqids adalah sebuah perpustakaan sumber terbuka yang memungkinkan Anda untuk menghasilkan pengenal unik pendek dari angka. ID ini aman digunakan dalam URL, dapat mengkodekan beberapa angka, dan tidak mengandung kata-kata kasar umum. Baca lebih lanjut .

Inilah tampilannya:

https://example.com/Lqj8a0

Contoh encode & decode cepat:

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

Jika ID terlalu pendek, Anda bisa menambahkan panjangnya ke panjang tertentu:

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

Buat ID unik dengan mengacak abjad:

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

Dokumentasi lengkap ada di https://github.com/sqids/sqids-c

Jika Anda mencari Hashids C asli, Anda bisa menemukannya di sini: https://github.com/tzvetkoff/hashids.c

Kasus Penggunaan

Penggunaan utama dari Sqids sepenuhnya bersifat visual. Jika Anda ingin menggunakan ID alih-alih angka dalam proyek Anda, Sqids bisa menjadi pilihan yang baik.

Bagus Untuk

  • Mengkodekan kunci primer Jika Anda menggunakan basis data relasional
  • Menyimpan pencarian basis data Dengan mengkodekan beberapa objek
  • Token login sementara Bebas kata-kata kasar dan aman digunakan dalam URL

Tidak Bagus Untuk

  • Data sensitif Ini bukan perpustakaan enkripsi
  • ID Pengguna Dapat mengungkap jumlah pengguna jika seseorang menemukan abjad pengkodean

Fitur

  • ๐Ÿ†” Menghasilkan ID pendek dari angka non-negatif
  • โœ… Pengkodean & dekoding mudah
  • ๐Ÿซฃ ID yang dihasilkan secara otomatis tidak mengandung kata-kata kasar umum
  • ๐ŸŽฒ Dukungan untuk ID kustom melalui abjad yang diacak
  • ๐Ÿฅณ 45 integrasi (84% menggunakan desain baru)
  • ๐Ÿ“Œ Setiap versi menghasilkan ID yang sama
  • ๐Ÿป Perpustakaan kecil dengan lisensi yang luwes

Contoh / Area Bermain