You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
39 lines
949 B
Go
39 lines
949 B
Go
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("")))
|
|
}
|