方案一
func md5V(str string) string {
h := md5.New()
h.Write([]byte(str))
return hex.EncodeToString(h.Sum(nil))
}
方案二
func md5V2(str string) string {
data := []byte(str)
has := md5.Sum(data)
md5str := fmt.Sprintf("%x", has)
return md5str
}
方案三
func md5V3(str string) string {
w := md5.New()
io.WriteString(w, str)
md5str := fmt.Sprintf("%x", w.Sum(nil))
return md5str
}
整體測(cè)試代碼
package main
import (
"crypto/md5"
"encoding/hex"
"fmt"
"io"
)
func main() {
str := "MD5testing"
md5Str := md5V(str)
fmt.Println(md5Str)
fmt.Println(md5V2(str))
fmt.Println(md5V3(str))
}
// 輸出結(jié)果:
f7bb96d1dcd6cfe0e5ce1f03e35f84bf
f7bb96d1dcd6cfe0e5ce1f03e35f84bf
f7bb96d1dcd6cfe0e5ce1f03e35f84bf
到此這篇關(guān)于golang中字符串MD5生成方式總結(jié)的文章就介紹到這了,更多相關(guān)golang中字符串MD5生成方式內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- Golang 獲取文件md5校驗(yàn)的方法以及效率對(duì)比
- Golang的md5 hash計(jì)算操作