golang  md5 结果类型

 

  1 package main
  2
  3 import (
  4         "crypto/md5"
  5         "encoding/hex"
  6         "fmt"
  7 )
  8
  9 func main() {
 10         data := []byte("testing")
 11         b := md5.Sum(data)
 12         fmt.Println(string(b)) //错误,不能直接转 string 
 13 //      fmt.Println(hex.EncodeToString(b[:]))
 14 //      fmt.Println(b[:])
 15 }
# command-line-arguments
GoProjcet/src/exercise/test_md5.go:12: cannot convert b (type [16]byte) to type string

 

 

Note:

Also note that converting a "random" slice of bytes to a string is most likely not what you want because a "random" slice of bytes may not be a valid UTF-8 byte sequence.

Instead use the encoding/hex package to convert the result to a hex string like this:

fmt.Println(hex.EncodeToString(b[:]))


  1 package main
  2
  3 import (
  4         "crypto/md5"
  5         "encoding/hex"
  6         "fmt"
  7 )
  8
  9 func main() {
 10         data := []byte("testing")
 11         b := md5.Sum(data)
 12 //      fmt.Println(string(b))
 13         fmt.Println(hex.EncodeToString(b[:]))
 14         fmt.Println(b[:])
 15 }
ae2b1fca515949e5d54fb22b8ed95575
[174 43 31 202 81 89 73 229 213 79 178 43 142 217 85 117]

 



相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-09-05
  • 2021-08-04
  • 2021-10-29
猜你喜欢
  • 2022-12-23
  • 2021-06-26
  • 2022-12-23
  • 2022-02-24
  • 2022-12-23
  • 2021-09-13
  • 2021-07-06
相关资源
相似解决方案