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:

let sqids = Sqids::default();
let id = sqids.encode(&[1, 2, 3])?; // "86Rf07"
let numbers = sqids.decode(&id); // [1, 2, 3]

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

let sqids = Sqids::builder()
  .min_length(10)
  .build()?;
let id = sqids.encode(&[1, 2, 3])?; // "86Rf07xd4z"
let numbers = sqids.decode(&id); // [1, 2, 3]

Buat ID unik dengan mengacak abjad:

let sqids = Sqids::builder()
  .alphabet("k3G7QAe51FCsPW92uEOyq4Bg6Sp8YzVTmnU0liwDdHXLajZrfxNhobJIRcMvKt".chars().collect())
  .build()?;
let id = sqids.encode(&[1, 2, 3])?; // "XRKUdQ"
let numbers = sqids.decode(&id); // [1, 2, 3]

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

Jika Anda mencari Hashids Rust asli, Anda bisa menemukannya di sini: https://github.com/archer884/harsh

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
  • ๐Ÿฅณ 44 integrasi (75% menggunakan desain baru)
  • ๐Ÿ“Œ Setiap versi menghasilkan ID yang sama
  • ๐Ÿป Perpustakaan kecil dengan lisensi yang luwes

Contoh / Area Bermain