web-dev-qa-db-fra.com

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

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

import "crypto/md5"

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

Mais évidemment, ce n'est pas ainsi que cela fonctionne. Quelqu'un peut-il me fournir un échantillon de travail pour cela?

46
cringe

Référence Sum , Pour moi , bien travailler :

package main

import (
    "crypto/md5"
    "fmt"
)

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

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)))
}
35
user387049

De doc crypto/md5 :

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))
}
34
Stephen Hsu
import (
    "crypto/md5"
    "encoding/hex"
)

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

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

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

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

Voici une fonction que vous pouvez utiliser pour générer un hachage MD5:

// MD5 hashes using md5 algorithm
func MD5(text string) string {
    algorithm := md5.New()
    algorithm.Write([]byte(text))
    return hex.EncodeToString(algorithm.Sum(nil))
}

J'ai rassemblé un groupe de ces fonctions de hachage utilitaires ici: https://github.com/shomali11/util

Tu trouveras FNV32, FNV32a, FNV64, FNV65a, MD5, SHA1, SHA256 et SHA512

3
Raed Shomali