You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
go-fly/tools/hash.go

42 lines
721 B

package tools
import (
"crypto/md5"
"crypto/sha256"
"encoding/base64"
"encoding/hex"
"strings"
)
//md5加密
func Md5(src string) string {
m := md5.New()
m.Write([]byte(src))
res := hex.EncodeToString(m.Sum(nil))
return res
}
//Sha256加密
func Sha256(src string) string {
m := sha256.New()
m.Write([]byte(src))
res := hex.EncodeToString(m.Sum(nil))
return res
}
func Base64Decode(str string) string {
reader := strings.NewReader(str)
decoder := base64.NewDecoder(base64.RawStdEncoding, reader)
// 以流式解码
buf := make([]byte, 1024)
// 保存解码后的数据
dst := ""
for {
n, err := decoder.Read(buf)
dst += string(buf[:n])
if n == 0 || err != nil {
break
}
}
return dst
}