方案一
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 }
整体测试代码
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)) } // 输出结果: f7bb96d1dcd6cfe0e5ce1f03e35f84bf f7bb96d1dcd6cfe0e5ce1f03e35f84bf f7bb96d1dcd6cfe0e5ce1f03e35f84bf
到此这篇关于golang中字符串MD5生成方式总结的文章就介绍到这了,更多相关golang中字符串MD5生成方式内容请搜索华域联盟以前的文章或继续浏览下面的相关文章希望大家以后多多支持华域联盟!
本文由 华域联盟 原创撰写:华域联盟 » golang中字符串MD5生成方式总结
转载请保留出处和原文链接:https://www.cnhackhy.com/111392.htm