1. md5

  1. package main
  2. import (
  3. "crypto/md5"
  4. "encoding/hex"
  5. "fmt"
  6. "io"
  7. )
  8. func main() {
  9. str := "www.topgoer.com"
  10. //方法一
  11. data := []byte(str)
  12. has := md5.Sum(data)
  13. md5str1 := fmt.Sprintf("%x", has) //将[]byte转成16进制
  14. fmt.Println(md5str1)
  15. //方法二
  16. w := md5.New()
  17. io.WriteString(w, str) //将str写入到w中
  18. bw := w.Sum(nil) //w.Sum(nil)将w的hash转成[]byte格式
  19. // md5str2 := fmt.Sprintf("%x", bw) //将 bw 转成字符串
  20. md5str2 := hex.EncodeToString(bw) //将 bw 转成字符串
  21. fmt.Println(md5str2)
  22. }

输出结果:

  1. df02d4af01fdbe9aa21f72acaf6b7cfa
  2. df02d4af01fdbe9aa21f72acaf6b7cfa