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:

local sqids = Sqids.new()
local encoded = sqids:encode({ 1, 2, 3 }) -- 86Rf07
local decoded = sqids:decode(encoded) -- 1, 2, 3

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

local sqids = Sqids.new({
  minLength = 10,
})
local encoded = sqids:encode({ 1, 2, 3 }) -- 86Rf07xd4z
local decoded = sqids:decode(encoded) -- 1, 2, 3

Buat ID unik dengan mengacak abjad:

local sqids = Sqids.new({
  alphabet = "k3G7QAe51FCsPW92uEOyq4Bg6Sp8YzVTmnU0liwDdHXLajZrfxNhobJIRcMvKt",
})
local encoded = sqids:encode({ 1, 2, 3 }) -- XRKUdQ
local decoded = sqids:decode(encoded) -- 1, 2, 3

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

Jika Anda mencari Hashids Lua asli, Anda bisa menemukannya di sini: https://github.com/leihog/hashids.lua

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