Skip to content

Instantly share code, notes, and snippets.

@flydo
Created September 28, 2019 09:52
Show Gist options
  • Save flydo/4324cdd5117315297dd3764b1274793e to your computer and use it in GitHub Desktop.
Save flydo/4324cdd5117315297dd3764b1274793e to your computer and use it in GitHub Desktop.
package main
import (
"crypto/md5"
"encoding/hex"
"crypto/hmac"
"crypto/sha1"
)
func Md5String(data string) string {
s := md5.New()
s.Write([]byte(data))
md5Data := s.Sum([]byte(nil))
return hex.EncodeToString(md5Data)
}
func Md5(data []byte) string {
s := md5.New()
s.Write(data)
md5Data := s.Sum([]byte(nil))
return hex.EncodeToString(md5Data)
}
func HmacString(key string, data string) string {
s := hmac.New(md5.New, []byte(key))
s.Write([]byte(data))
return hex.EncodeToString(s.Sum([]byte(nil)))
}
func HmacByStringKey(key string, data []byte) string {
return Hmac([]byte(key), data)
}
func Hmac(key []byte, data []byte) string {
s := hmac.New(md5.New, key)
s.Write(data)
return hex.EncodeToString(s.Sum([]byte(nil)))
}
func Sha1String(data string) string {
s := sha1.New()
s.Write([]byte(data))
return hex.EncodeToString(s.Sum([]byte(nil)))
}
func Sha1(data []byte) string {
s := sha1.New()
s.Write(data)
return hex.EncodeToString(s.Sum([]byte(nil)))
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment