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:
Contoh encode & decode cepat:
val sqids = Sqids.default
val id = sqids.encodeUnsafeString(1, 2, 3) // "86Rf07"
val numbers = sqids.decode(id) // List(1, 2, 3)
Jika ID terlalu pendek, Anda bisa menambahkan panjangnya ke panjang tertentu:
Sqids
.withMinLength(10)
.foreach { sqids =>
val id = sqids.encodeUnsafeString(1, 2, 3) // "86Rf07xd4z"
val numbers = sqids.decode(id) // List(1, 2, 3)
}
Buat ID unik dengan mengacak abjad:
Alphabet("k3G7QAe51FCsPW92uEOyq4Bg6Sp8YzVTmnU0liwDdHXLajZrfxNhobJIRcMvKt")
.flatMap(Sqids.forAlphabet)
.foreach { sqids =>
val id = sqids.encodeUnsafeString(1, 2, 3) // "XRKUdQ"
val numbers = sqids.decode(id) // List(1, 2, 3)
}
Dokumentasi lengkap ada di https://github.com/sqids/sqids-scala
Jika Anda mencari Hashids Scala asli, Anda bisa menemukannya di sini: https://github.com/newhoggy/hashids-scala
Penggunaan utama dari Sqids sepenuhnya bersifat visual. Jika Anda ingin menggunakan ID alih-alih angka dalam proyek Anda, Sqids bisa menjadi pilihan yang baik.