package utils import ( "crypto/hmac" "crypto/md5" "crypto/sha256" "encoding/base64" "encoding/hex" "encoding/json" "fmt" ) func MD5Base64(content []byte) string { h := md5.New() h.Write(content) return base64.StdEncoding.EncodeToString(h.Sum(nil)) } func MD5Hex(content []byte) string { h := md5.New() h.Write(content) return hex.EncodeToString(h.Sum(nil)) } func HmacSha256(data string, secret string) string { h := hmac.New(sha256.New, []byte(secret)) h.Write([]byte(data)) //return base64.StdEncoding.EncodeToString(h.Sum(nil)) return hex.EncodeToString(h.Sum(nil)) } // MD5Any 仅仅是为了判断唯一性 func MD5Any(v any) string { b, _ := json.Marshal(v) md5Bytes := md5.Sum(b) return fmt.Sprintf("%x", md5Bytes) }