Sqids is een open-source bibliotheek waarmee je korte unieke identifiers kunt genereren vanuit nummers. Deze ID's zijn URL-veilig, kunnen verschillende nummers encoderen en bevatten geen gangbare grove woorden. Lees meer .
Dit is hoe ze eruit zien:
Snel encode & decode voorbeeld:
val sqids = Sqids.default
val id = sqids.encodeUnsafeString(1, 2, 3) // "86Rf07"
val numbers = sqids.decode(id) // List(1, 2, 3)
Als ID's te kort zijn, kun je ze opvullen tot een bepaalde lengte:
Sqids
.withMinLength(10)
.foreach { sqids =>
val id = sqids.encodeUnsafeString(1, 2, 3) // "86Rf07xd4z"
val numbers = sqids.decode(id) // List(1, 2, 3)
}
Maak unieke ID's door het alfabet te schudden:
Alphabet("k3G7QAe51FCsPW92uEOyq4Bg6Sp8YzVTmnU0liwDdHXLajZrfxNhobJIRcMvKt")
.flatMap(Sqids.forAlphabet)
.foreach { sqids =>
val id = sqids.encodeUnsafeString(1, 2, 3) // "XRKUdQ"
val numbers = sqids.decode(id) // List(1, 2, 3)
}
De volledige documentatie is te vinden op https://github.com/sqids/sqids-scala
Als je op zoek bent naar het originele Hashids Scala, je kunt het hier vinden: https://github.com/newhoggy/hashids-scala
Het hoofdgebruik van Sqids is puur visueel. Als je IDs in plaats van nummers wilt gebruiken in je project, kan Sqids een goede keuze zijn.