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:
s, _ := sqids.New()
id, _ := s.Encode([]uint64{1, 2, 3}) // "86Rf07"
numbers := s.Decode(id) // [1, 2, 3]
Als ID's te kort zijn, kun je ze opvullen tot een bepaalde lengte:
s, _ := sqids.New(sqids.Options{
MinLength: 10,
})
id, _ := s.Encode([]uint64{1, 2, 3}) // "86Rf07xd4z"
numbers := s.Decode(id) // [1, 2, 3]
Maak unieke ID's door het alfabet te schudden:
s, _ := sqids.New(sqids.Options{
Alphabet: "k3G7QAe51FCsPW92uEOyq4Bg6Sp8YzVTmnU0liwDdHXLajZrfxNhobJIRcMvKt",
})
id, _ := s.Encode([]uint64{1, 2, 3}) // "XRKUdQ"
numbers := s.Decode(id) // [1, 2, 3]
De volledige documentatie is te vinden op https://github.com/sqids/sqids-go
Als je op zoek bent naar het originele Hashids Go, je kunt het hier vinden: https://github.com/speps/go-hashids
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.