早年用C/C++计算md5, 需要引入各种外部库才可以, 痛苦。 后来玩php, 发现一行语句搞定,善哉善哉, 来用go玩练练手
package main
import (
"fmt"
"crypto/md5"
)
func main(){
str := "abc"
x := md5.New();
x.Write([]byte(str))
y := x.Sum([]byte(""))
fmt.Printf("%x\n", y)
fmt.Printf("%T\n", x)
fmt.Printf("%T\n", y)
}
结果:
900150983cd24fb0d6963f7d28e17f72
*md5.digest
[]uint8
来写个函数吧, 经常用:
package main
import (
"fmt"
"crypto/md5"
"io"
)
func main(){
str := "abc"
x := md5.New();
x.Write([]byte(str))
y := x.Sum([]byte(""))
fmt.Printf("%x\n", y)
fmt.Printf("%T\n", x)
fmt.Printf("%T\n", y)
fmt.Println(GetMd5(str))
}
func GetMd5(str string) string {
h := md5.New()
io.WriteString(h, str)
return fmt.Sprintf("%x", h.Sum(nil))
}
结果:
900150983cd24fb0d6963f7d28e17f72
*md5.digest
[]uint8
900150983cd24fb0d6963f7d28e17f72
不多说。