82 votes

Comment obtenir un hachage MD5 à partir d'une chaîne dans Golang ?

C'est ainsi que j'ai commencé à obtenir un hachage md5 partir d'un string :

import "crypto/md5"

var original = "my string comes here"
var hash = md5.New(original)

Mais ce n'est évidemment pas comme ça que ça marche. Quelqu'un peut-il me fournir un échantillon de travail pour cela ?

91voto

aviv Points 233
import (
    "crypto/md5"
    "encoding/hex"
)

func GetMD5Hash(text string) string {
   hash := md5.Sum([]byte(text))
   return hex.EncodeToString(hash[:])
}

91voto

Alan Points 104

Somme de référence Pour mefollowing work well

package main

import (
    "crypto/md5"
    "fmt"
)

func main() {
    data := []byte("hello")
    fmt.Printf("%x", md5.Sum(data))
}

42voto

user387049 Points 1420

J'ai trouvé que cette solution fonctionnait bien

package main

import (
    "crypto/md5"
    "encoding/hex"
    "fmt"
)

func main() {
    var str string = "hello world"

    hasher := md5.New()
    hasher.Write([]byte(str))
    fmt.Println(str)
    fmt.Println(hex.EncodeToString(hasher.Sum(nil)))
}

38voto

Stephen Hsu Points 1138

De crypto/md5 doc :

package main

import (
    "crypto/md5"
    "fmt"
    "io"
)

func main() {
    h := md5.New()
    io.WriteString(h, "The fog is getting thicker!")
    fmt.Printf("%x", h.Sum(nil))
}

17voto

Serg Points 3253

J'utilise ceci pour hacher mes chaînes MD5 :

import (
    "crypto/md5"
    "encoding/hex"
)

func GetMD5Hash(text string) string {
    hasher := md5.New()
    hasher.Write([]byte(text))
    return hex.EncodeToString(hasher.Sum(nil))
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X