http://play.golang.org/p/SKtaPFtnKOGolang: da [] byte per ottenere esadecimale
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)
}
Tutto quello che serve è stringa Hash-chiave che viene convertito da una stringa di input. Sono stato in grado di ottenerlo in formato byte utilizzando h.Sum (nil) e in grado di stampare la chiave hash in formato% x. Ma voglio restituire il formato% x da questa funzione in modo che possa usarlo per convertire l'indirizzo email in chiave Hash e usarlo per accedere a Gravatar.com.
Come ottengo il tasto Hash in formato% x utilizzando la funzione md5 in Vai?
Grazie,
[hex.EncodeToString] (http://golang.org/pkg/encoding/hex/#EncodeToString) è probabilmente leggermente più efficiente (nessuna riflessione ecc.). –
Grazie.Ho aggiornato la risposta – fabrizioM
'hex.EncodeToString' è circa 5 volte più veloce di' fmt' nel mio benchmarking –