Documentation ¶
Index ¶
- Constants
- type HashID
- func (h *HashID) Decode(hash string) []int
- func (h *HashID) DecodeHex(hash string) (string, error)
- func (h *HashID) DecodeInt64(hash string) []int64
- func (h *HashID) DecodeInt64WithError(hash string) ([]int64, error)
- func (h *HashID) DecodeWithError(hash string) ([]int, error)
- func (h *HashID) Encode(numbers []int) (string, error)
- func (h *HashID) EncodeHex(hex string) (string, error)
- func (h *HashID) EncodeInt64(numbers []int64) (string, error)
- type HashIDData
Constants ¶
const ( // Version is the version number of the library Version string = "1.0.0" // DefaultAlphabet is the default alphabet used by go-hashids DefaultAlphabet string = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890" DefaultAlphabetLowerCase string = "abcdefghijklmnopqrstuvwxyz1234567890" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type HashID ¶
type HashID struct {
// contains filtered or unexported fields
}
HashID contains everything needed to encode/decode hashids
func NewWithData ¶
func NewWithData(data *HashIDData) (*HashID, error)
NewWithData creates a new HashID with the provided HashIDData
func (*HashID) Decode ¶
DEPRECATED: Use DecodeWithError instead Decode unhashes the string passed to an array of int. It is symmetric with Encode if the Alphabet and Salt are the same ones which were used to hash. MinLength has no effect on Decode.
func (*HashID) DecodeHex ¶
DecodeHex unhashes the string passed to a hexadecimal string. It is symmetric with EncodeHex if the Alphabet and Salt are the same ones which were used to hash.
Each hex nibble is decoded from an integer in range [16, 31].
func (*HashID) DecodeInt64 ¶
DEPRECATED: Use DecodeInt64WithError instead DecodeInt64 unhashes the string passed to an array of int64. It is symmetric with EncodeInt64 if the Alphabet and Salt are the same ones which were used to hash. MinLength has no effect on DecodeInt64.
func (*HashID) DecodeInt64WithError ¶
DecodeInt64 unhashes the string passed to an array of int64. It is symmetric with EncodeInt64 if the Alphabet and Salt are the same ones which were used to hash. MinLength has no effect on DecodeInt64.
func (*HashID) DecodeWithError ¶
Decode unhashes the string passed to an array of int. It is symmetric with Encode if the Alphabet and Salt are the same ones which were used to hash. MinLength has no effect on Decode.
func (*HashID) Encode ¶
Encode hashes an array of int to a string containing at least MinLength characters taken from the Alphabet. Use Decode using the same Alphabet and Salt to get back the array of int.
func (*HashID) EncodeHex ¶
EncodeHex hashes a hexadecimal string to a string containing at least MinLength characters taken from the Alphabet. A hexadecimal string should not contain the 0x prefix. Use DecodeHex using the same Alphabet and Salt to get back the hexadecimal string.
Each hex nibble is encoded as an integer in range [16, 31].
type HashIDData ¶
type HashIDData struct { // Alphabet is the alphabet used to generate new ids Alphabet string // MinLength is the minimum length of a generated id MinLength int // Salt is the secret used to make the generated id harder to guess Salt string }
HashIDData contains the information needed to generate hashids
func NewData ¶
func NewData() *HashIDData
NewData creates a new HashIDData with the DefaultAlphabet already set.
func NewDataWithLowerCase ¶
func NewDataWithLowerCase() *HashIDData