package vtencent

import (
	"crypto/hmac"
	"crypto/sha1"
	"encoding/hex"
)

func QSignatureKey(timeKey string, signPath string, key string) string {
	signKey := hmac.New(sha1.New, []byte(key))
	signKey.Write([]byte(timeKey))
	signKeyBytes := signKey.Sum(nil)
	signKeyHex := hex.EncodeToString(signKeyBytes)
	sha := sha1.New()
	sha.Write([]byte(signPath))
	shaBytes := sha.Sum(nil)
	shaHex := hex.EncodeToString(shaBytes)

	O := "sha1\n" + timeKey + "\n" + shaHex + "\n"
	dataSignKey := hmac.New(sha1.New, []byte(signKeyHex))
	dataSignKey.Write([]byte(O))
	dataSignKeyBytes := dataSignKey.Sum(nil)
	dataSignKeyHex := hex.EncodeToString(dataSignKeyBytes)
	return dataSignKeyHex
}

func QTwoSignatureKey(timeKey string, key string) string {
	signKey := hmac.New(sha1.New, []byte(key))
	signKey.Write([]byte(timeKey))
	signKeyBytes := signKey.Sum(nil)
	signKeyHex := hex.EncodeToString(signKeyBytes)
	return signKeyHex
}