这就是我从md5
开始获取string
哈希的方式:
import "crypto/md5"
var original = "my string comes here"
var hash = md5.New(original)
但显然这不是它的工作原理。有人可以为我提供一份工作样本吗?
答案 0 :(得分:36)
参考Sum,对我而言,以下工作:
package main
import (
"crypto/md5"
"fmt"
)
func main() {
data := []byte("hello")
fmt.Printf("%x", md5.Sum(data))
}
答案 1 :(得分:35)
我发现这个解决方案运作良好
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)))
}
答案 2 :(得分:34)
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))
}
答案 3 :(得分:22)
import (
"crypto/md5"
"encoding/hex"
)
func GetMD5Hash(text string) string {
hash := md5.Sum([]byte(text))
return hex.EncodeToString(hash[:])
}
答案 4 :(得分:14)
我用它来MD5哈希我的字符串:
import (
"crypto/md5"
"encoding/hex"
)
func GetMD5Hash(text string) string {
hasher := md5.New()
hasher.Write([]byte(text))
return hex.EncodeToString(hasher.Sum(nil))
}
答案 5 :(得分:2)
这是一个可用于生成MD5哈希的函数:
// MD5 hashes using md5 algorithm
func MD5(text string) string {
algorithm := md5.New()
algorithm.Write([]byte(text))
return hex.EncodeToString(algorithm.Sum(nil))
}
我在这里整理了一组实用程序哈希函数:https://github.com/shomali11/util
您会发现FNV32
,FNV32a
,FNV64
,FNV65a
,MD5
,SHA1
,SHA256
和{{ 1}}