~~~ package main import ( "crypto/md5" "encoding/hex" "fmt" "io" ) func main() { str := "abc123" //方法一 data := []byte(str) has := md5.Sum(data) md5str1 := fmt.Sprintf("%x", has) //将[]byte转成16进制 fmt.Println(md5str1) //方法二 w := md5.New() io.WriteString(w, str) //将str写入到w中 bw := w.Sum(nil) //w.Sum(nil)将w的hash转成[]byte格式 // md5str2 := fmt.Sprintf("%x", bw) //将 bw 转成字符串 md5str2 := hex.EncodeToString(bw) //将 bw 转成字符串 fmt.Println(md5str2) } ~~~ 输出结果: ~~~ e99a18c428cb38d5f260853678922e03 e99a18c428cb38d5f260853678922e03 ~~~