Golang提供了"crypto/md5"包用来计算md5值,使用起来简单方便,解决了我长久以来的疑问^_^
一种是直接调用md5计算
package main
import (
"crypto/md5"
"fmt"
)
func main() {
data := []byte("crypted data")
fmt.Printf("%x", md5.Sum(data))
}
------------------------------------
121d0611200c43f67b722446a4faea45
另一种是调用md5.New()生成一个hash对象,然后往这个对象写将要加密的数据就行了
package main
import (
"crypto/md5"
"fmt"
"io"
)
func main() {
h := md5.New()
io.WriteString(h, "crypted data")
fmt.Printf("%x", h.Sum(nil))
}
------------------------------------------
121d0611200c43f67b722446a4faea45
或者调用write方法写
package main
import (
"crypto/md5"
"fmt"
)
func main() {
h := md5.New()
h.Write([]byte("crypted data"))
fmt.Printf("%x", h.Sum(nil))
}
-----------------------------------
121d0611200c43f67b722446a4faea45
参考文档:
1. golang中字符串MD5生成方式 https://www.jianshu.com/p/58dcbf490ef3
2. 官方文档说明 https://golang.org/pkg/crypto/md5