Sqids é uma biblioteca de código aberto que permite gerar identificadores únicos curtos a partir de números. Esses IDs são seguros para URLs, podem codificar vários números e não contêm palavras de baixo calão comuns. Leia mais .
Assim é como eles se parecem:
Exemplo rápido de codificação e decodificação:
s, _ := sqids.New()
id, _ := s.Encode([]uint64{1, 2, 3}) // "86Rf07"
numbers := s.Decode(id) // [1, 2, 3]
Se os IDs forem muito curtos, você pode preenchê-los até um certo comprimento:
s, _ := sqids.New(sqids.Options{
MinLength: 10,
})
id, _ := s.Encode([]uint64{1, 2, 3}) // "86Rf07xd4z"
numbers := s.Decode(id) // [1, 2, 3]
Crie IDs únicos embaralhando o alfabeto:
s, _ := sqids.New(sqids.Options{
Alphabet: "k3G7QAe51FCsPW92uEOyq4Bg6Sp8YzVTmnU0liwDdHXLajZrfxNhobJIRcMvKt",
})
id, _ := s.Encode([]uint64{1, 2, 3}) // "XRKUdQ"
numbers := s.Decode(id) // [1, 2, 3]
A documentação completa está em https://github.com/sqids/sqids-go
Se você está procurando pelo Hashids Go original, você pode encontrá-lo aqui: https://github.com/speps/go-hashids
O principal uso de Sqids é puramente visual. Se você deseja usar IDs em vez de números em seu projeto, Sqids pode ser uma boa escolha.