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:

(def sqids
  (sqids/sqids))
(def id
  (sqids/encode sqids [1 2 3])) ; "86Rf07"
(def numbers
  (sqids/decode sqids id)) ; [1 2 3]

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

(def sqids
  (sqids/sqids {:min-length 10}))
(def id
  (sqids/encode sqids [1 2 3])) ; "86Rf07xd4z"
(def numbers
  (sqids/decode sqids id)) ; [1 2 3]

Buat ID unik dengan mengacak abjad:

(def sqids
  (sqids/sqids {:alphabet "k3G7QAe51FCsPW92uEOyq4Bg6Sp8YzVTmnU0liwDdHXLajZrfxNhobJIRcMvKt"}))
(def id
  (sqids/encode sqids [1 2 3])) ; "XRKUdQ"
(def numbers
  (sqids/decode sqids id)) ; [1 2 3]

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

Jika Anda mencari Hashids Clojure asli, Anda bisa menemukannya di sini: https://github.com/jstrutz/hashids.clj

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