package ncrypt import ( "crypto/hmac" "crypto/md5" "crypto/sha1" "crypto/sha256" "crypto/sha512" "encoding/hex" ) // HmacMd5 return the hmac hash of string use md5. func HmacMd5(data, key string) string { h := hmac.New(md5.New, []byte(key)) h.Write([]byte(data)) return hex.EncodeToString(h.Sum([]byte(""))) } // HmacSha1 return the hmac hash of string use sha1. func HmacSha1(data, key string) string { h := hmac.New(sha1.New, []byte(key)) h.Write([]byte(data)) return hex.EncodeToString(h.Sum([]byte(""))) } // HmacSha256 return the hmac hash of string use sha256. func HmacSha256(data, key string) string { h := hmac.New(sha256.New, []byte(key)) h.Write([]byte(data)) return hex.EncodeToString(h.Sum([]byte(""))) } // HmacSha512 return the hmac hash of string use sha512. func HmacSha512(data, key string) string { h := hmac.New(sha512.New, []byte(key)) h.Write([]byte(data)) return hex.EncodeToString(h.Sum([]byte(""))) }