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?
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))
}
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)))
}
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))
}
import (
"crypto/md5"
"encoding/hex"
)
func GetMD5Hash(text string) string {
hash := md5.Sum([]byte(text))
return hex.EncodeToString(hash[:])
}
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))
}
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