123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- package myth
- import (
- "crypto/hmac"
- "crypto/md5"
- "crypto/sha1"
- "crypto/sha256"
- "crypto/sha512"
- "encoding/hex"
- )
- // SHA512 hash
- func SHA512(data []byte) ([]byte, error) {
- hash := sha512.New()
- _, err := hash.Write(data)
- if err != nil {
- return nil, err
- }
- return hash.Sum(nil), nil
- }
- func HmacSHA256(k, s []byte) ([]byte, error) {
- hash := hmac.New(sha256.New, k)
- _, err := hash.Write(s)
- if err != nil {
- return nil, err
- }
- return hash.Sum(nil), nil
- }
- // SHA256 hash string
- func SHA256(data string) string {
- hash := sha256.New()
- hash.Write([]byte(data))
- return hex.EncodeToString(hash.Sum(nil))
- }
- // MD5 hash string
- func MD5(data string) string {
- hash := md5.New()
- hash.Write([]byte(data))
- return hex.EncodeToString(hash.Sum(nil))
- }
- // SHA1 hash string
- func SHA1(data string) string {
- hash := sha1.New()
- hash.Write([]byte(data))
- return hex.EncodeToString(hash.Sum(nil))
- }
|