web-dev-qa-db-ja.com

Golangの文字列からMD5ハッシュを取得する方法は?

これが、私がstringからmd5ハッシュを取得し始めた方法です:

import "crypto/md5"

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

しかし、明らかにこれは動作方法ではありません。誰かがこのための実用的なサンプルを提供できますか?

46
cringe

参照 合計 、私にとっては、次のようにうまくいきます:

package main

import (
    "crypto/md5"
    "fmt"
)

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

このソリューションがうまく機能することがわかりました

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

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

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

私はこれを使用して文字列をMD5ハッシュします:

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

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

見つけるだろう FNV32FNV32aFNV64FNV65aMD5SHA1SHA256およびSHA512

3
Raed Shomali