package main import ( "crypto/sha512" "fmt" ) func GenerateToken(pkey []byte, id int, a... []byte) ([]byte, error) { h := sha512.New() h.Write([]byte(fmt.Sprintf("%x:%d", pkey, id))) for _, v := range a { h.Write([]byte(":")) h.Write(v) } return h.Sum(nil), nil }