dongyuying1507 2013-10-11 23:56
浏览 91
已采纳

如何从[]个字节开始获取十六进制

http://play.golang.org/p/SKtaPFtnKO

func md(str string) []byte {
    h := md5.New()
    io.WriteString(h, str)

    fmt.Printf("%x", h.Sum(nil))
    // base 16, with lower-case letters for a-f
    return h.Sum(nil)
}

All I need is Hash-key string that is converted from an input string. I was able to get it in bytes format usting h.Sum(nil) and able to print out the Hash-key in %x format. But I want to return the %x format from this function so that I can use it to convert email address to Hash-key and use it to access Gravatar.com.

How do I get %x format Hash-key using md5 function in Go?

Thanks,

  • 写回答

2条回答 默认 最新

  • douhanxujiuji6098 2013-10-12 00:09
    关注

    If I understood correctly you want to return the %x format:

    you can import hex and use the EncodeToString method

    str := hex.EncodeToString(h.Sum(nil))
    

    or just Sprintf the value:

    func md(str string) string {
        h := md5.New()
        io.WriteString(h, str)
    
        return fmt.Sprintf("%x", h.Sum(nil))
    }
    

    note that Sprintf is slower because it needs to parse the format string and then reflect based on the type found

    http://play.golang.org/p/vsFariAvKo

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 在获取boss直聘的聊天的时候只能获取到前40条聊天数据
  • ¥20 关于URL获取的参数,无法执行二选一查询
  • ¥15 液位控制,当液位超过高限时常开触点59闭合,直到液位低于低限时,断开
  • ¥15 marlin编译错误,如何解决?
  • ¥15 有偿四位数,节约算法和扫描算法
  • ¥15 VUE项目怎么运行,系统打不开
  • ¥50 pointpillars等目标检测算法怎么融合注意力机制
  • ¥20 Vs code Mac系统 PHP Debug调试环境配置
  • ¥60 大一项目课,微信小程序
  • ¥15 求视频摘要youtube和ovp数据集