token.go
func RandomAccessToken() (string, error) {
	buf, err := generateRandomBytes(128)
	if err != nil {
		return "", err
	}

	// A hash needs to be 64 bytes long to have 256-bit collision resistance.
	hash := make([]byte, 64)
	// Compute a 64-byte hash of buf and put it in h.
	sha3.ShakeSum256(hash, buf)
	hash2 := make([]byte, hex.EncodedLen(len(hash)))
	hex.Encode(hash2, hash)
	return string(hash2), nil
}
func RandomAccessToken() (string, error) {
	buf, err := generateRandomBytes(128)
	if err != nil {
		return "", err
	}

	// A hash needs to be 64 bytes long to have 256-bit collision resistance.
	hash := make([]byte, 64)
	// Compute a 64-byte hash of buf and put it in h.
	sha3.ShakeSum256(hash, buf)
	hash2 := make([]byte, hex.EncodedLen(len(hash)))
	hex.Encode(hash2, hash)
	return string(hash2), nil
}
// RandomAccessToken generate Access Token with given key and generated hash of length 64.