第一种方法:() 和 Write
package main
import (
"crypto/md5"
"encoding/hex"
"fmt"
)
func main() {
str := "123456"
data := []byte(str)
md5New := md5.New()
md5New.Write(data)
// hex转字符串
md5String := hex.EncodeToString(md5New.Sum(nil))
fmt.Println(md5String)
// e10adc3949ba59abbe56e057f20f883e
}
第二种方法:() 和
package main
import (
"crypto/md5"
"encoding/hex"
"fmt"
"io"
)
func main() {
h := md5.New()
io.WriteString(h, "123456")
sum := h.Sum(nil)
fmt.Println(hex.EncodeToString(sum[:]))
// e10adc3949ba59abbe56e057f20f883e
}
第三种方法:
package main
import (
"crypto/md5"
"encoding/hex"
"fmt"
)
func main() {
data := []byte("123456")
sum := md5.Sum(data)
// hex转字符串
md5String := hex.EncodeToString(sum[:])
fmt.Println(md5String)
// e10adc3949ba59abbe56e057f20f883e
// 同
fmt.Printf("%x", md5.Sum(data))
}
参考
/go-pkgs/crypto/
/pkg/crypto_md5.htm