mirror of
https://github.com/bufanyun/hotgo.git
synced 2025-09-23 11:46:39 +08:00
22 lines
451 B
Go
22 lines
451 B
Go
package security
|
|
|
|
import (
|
|
"crypto/hmac"
|
|
"crypto/sha256"
|
|
"encoding/base64"
|
|
"fmt"
|
|
)
|
|
|
|
// GenSign generate sign
|
|
func GenSign(secret string, timestamp int64) (string, error) {
|
|
stringToSign := fmt.Sprintf("%v", timestamp) + "\n" + secret
|
|
var data []byte
|
|
h := hmac.New(sha256.New, []byte(stringToSign))
|
|
_, err := h.Write(data)
|
|
if err != nil {
|
|
return "", err
|
|
}
|
|
signature := base64.StdEncoding.EncodeToString(h.Sum(nil))
|
|
return signature, nil
|
|
}
|