在Golang中将MD5转换为十进制的最佳方法?

时间:2015-01-24 17:36:41

标签: go

在Python中,我可以做到

int(hashlib.md5('hello world').hexdigest(), 16)

导致

125893641179230474042701625388361764291L

在Golang中获取MD5字符串并获得十进制表示形式的等价物是什么?

1 个答案:

答案 0 :(得分:4)

您可以使用math/big执行此操作。

package main

import (
    "crypto/md5"
    "encoding/hex"
    "fmt"
    "math/big"
)

func main() {
    bi := big.NewInt(0)
    h := md5.New()
    h.Write([]byte("hello world"))
    hexstr := hex.EncodeToString(h.Sum(nil))
    bi.SetString(hexstr, 16)
    fmt.Println(bi.String())
}

http://play.golang.org/p/3h521Ao1UY