This is how I started to get a md5
hash from a string
:
import "crypto/md5"
var original = "my string comes here"
var hash = md5.New(original)
But obviously this is not how it works. Can someone provide me a working sample for this?
This is how I started to get a md5
hash from a string
:
import "crypto/md5"
var original = "my string comes here"
var hash = md5.New(original)
But obviously this is not how it works. Can someone provide me a working sample for this?
Reference Sum,For me,following work well:
package main
import (
"crypto/md5"
"fmt"
)
func main() {
data := []byte("hello")
fmt.Printf("%x", md5.Sum(data))
}
import (
"crypto/md5"
"encoding/hex"
)
func GetMD5Hash(text string) string {
hash := md5.Sum([]byte(text))
return hex.EncodeToString(hash[:])
}
hash[:]
? Thanks –
Polygon hash
, for the detail You can see here blog.golang.org/slices-intro –
Voigt Reference Sum,For me,following work well:
package main
import (
"crypto/md5"
"fmt"
)
func main() {
data := []byte("hello")
fmt.Printf("%x", md5.Sum(data))
}
I found this solution to work well
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)))
}
From 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))
}
Hash.Sum()
needs a byte slice as first argument now. h.Sum([]byte{})
will fix this example. –
Honniball io.WriteString()
is unrelated to the subject. fmt.Fprintf(h, "The fog is getting thicker!")
would produce the same result. Even clearer would be a one-liner fmt.Printf("%x\n", md5.Sum([]byte("The quick brown fox jumps over the lazy dog.")))
. h.Sum(in)
called with any in
would append the md5-hash of h
to in
- i.e. concatenate them (see the source, line 88: golang.org/src/pkg/crypto/md5/md5.go?s=2281:2313#L88). –
Karisakarissa I use this to MD5 hash my strings:
import (
"crypto/md5"
"encoding/hex"
)
func GetMD5Hash(text string) string {
hasher := md5.New()
hasher.Write([]byte(text))
return hex.EncodeToString(hasher.Sum(nil))
}
Here is a function you could use to generate an MD5 hash:
// MD5 hashes using md5 algorithm
func MD5(text string) string {
algorithm := md5.New()
algorithm.Write([]byte(text))
return hex.EncodeToString(algorithm.Sum(nil))
}
I put together a group of those utility hash functions here: https://github.com/shomali11/util
You will find FNV32
, FNV32a
, FNV64
, FNV65a
, MD5
, SHA1
, SHA256
and SHA512
just another answer
// MD5 hashes using md5 algorithm
func MD5(text string) string {
data := []byte(text)
return fmt.Sprintf("%x", md5.Sum(data))
}
© 2022 - 2024 — McMap. All rights reserved.