package storage import ( "time" "git.sp4ke.com/sp4ke/bit4sat/config" "github.com/speps/go-hashids" ) var ShortHD *hashids.HashIDData var LongHD *hashids.HashIDData func GetShortId() (string, error) { hd, err := hashids.NewWithData(ShortHD) if err != nil { return "", err } now := int64(time.Now().UnixNano()) short, err := hd.EncodeInt64([]int64{now}) if err != nil { return "", err } return short, nil } func GetLongId() (string, error) { hd, err := hashids.NewWithData(LongHD) if err != nil { return "", err } now := int64(time.Now().UnixNano()) long, err := hd.EncodeInt64([]int64{now}) if err != nil { return "", err } return long, nil } func init() { ShortHD = hashids.NewData() ShortHD.Salt = config.ShortIdSalt ShortHD.MinLength = 8 LongHD = hashids.NewData() LongHD.Salt = config.ShortIdSalt LongHD.MinLength = 32 }