http://play.golang.org/p/SKtaPFtnKO
func md(str string) []byte {
h := md5.New()
io.WriteString(h, str)
fmt.Printf("%x", h.Sum(nil))
// base 16, with lower-case letters for a-f
return h.Sum(nil)
}
我所需要的仅仅是从输入字符串转换而来的哈希密钥字符串。通过使用h.Sum(nil)方法,我已经能够以字节格式获得它并以%x格式打印出哈希密钥。但我想从这个函数中返回%x格式,这样我就可以将电子邮件地址转换为哈希密钥并用于访问Gravatar.com。
如何在Go中使用md5函数获取%x格式的哈希密钥?
谢谢,
hex.EncodeToString
(http://golang.org/pkg/encoding/hex/#EncodeToString)可能会更加高效(没有反射等)。 - Nick Craig-Woodhex.EncodeToString
比fmt
快大约5倍。 - Eric Olson%x
命令输出为空,而hex.EncodeToString
命令则有预期的输出。 - Daniel Williams