Sqids sayılarından kısa eşsiz tanımlayıcılar oluşturmanıza izin veren açık kaynaklı bir kütüphanedir. Bu kimlikler URL'ye uygun, birkaç sayıyı kodlayabilir ve yaygın küfür içermemektedir. Daha Fazla Oku .
Bunlar nasıl görünüyor:
Hızlı kodlama ve kod çözme örneği:
val sqids = Sqids.default
val id = sqids.encodeUnsafeString(1, 2, 3) // "86Rf07"
val numbers = sqids.decode(id) // List(1, 2, 3)
Eğer kimlikler çok kısa ise, onları belirli bir uzunluğa kadar doldurabilirsiniz:
Sqids
.withMinLength(10)
.foreach { sqids =>
val id = sqids.encodeUnsafeString(1, 2, 3) // "86Rf07xd4z"
val numbers = sqids.decode(id) // List(1, 2, 3)
}
Alfabeyi karıştırarak benzersiz kimlikler oluştur:
Alphabet("k3G7QAe51FCsPW92uEOyq4Bg6Sp8YzVTmnU0liwDdHXLajZrfxNhobJIRcMvKt")
.flatMap(Sqids.forAlphabet)
.foreach { sqids =>
val id = sqids.encodeUnsafeString(1, 2, 3) // "XRKUdQ"
val numbers = sqids.decode(id) // List(1, 2, 3)
}
Tam belge burada bulunmaktadır https://github.com/sqids/sqids-scala
Orijinal Hashids Scala'i arıyorsanız, burada bulabilirsiniz: https://github.com/newhoggy/hashids-scala
Sqids ana kullanımı tamamen görseldir. Projede sayılar yerine kimlik kullanmak isterseniz, Sqids iyi bir seçenek olabilir.