在 Go 语言 中,如何计算 字符串 的 MD5 值。
package mainimport ( "crypto/md5" "encoding/hex" "fmt" "io" "log")// 方式1func strMd5_1(str string) (retMd5 string) { h := md5.New() h.Write([]byte(str)) return hex.EncodeToString(h.Sum(nil))}// 方式2func strMd5_3(str string) (retMd5 string) { w := md5.New() io.WriteString(w, str) md5str := fmt.Sprintf("%x", w.Sum(nil)) return md5str}// 方式3func strMd5_2(str string) (retMd5 string) { data := []byte(str) has := md5.Sum(data) md5str := fmt.Sprintf("%x", has) return md5str}func main() { log.SetFlags(log.Lshortfile) var str1 = "Golang获取字符串md5 https://www.yuque.com/uuu/go/md5" log.Println(strMd5_1(str1)) // 9f7cfc4102df0981ee2751dc9ecea6de log.Println(strMd5_2(str1)) // 9f7cfc4102df0981ee2751dc9ecea6de log.Println(strMd5_3(str1)) // 9f7cfc4102df0981ee2751dc9ecea6de}
参考文档 https://haicoder.net/note/golang/golang-str-md5.html