本文共 830 字,大约阅读时间需要 2 分钟。
早年用C/C++计算md5, 需要引入各种外部库才可以, 痛苦。 后来玩php, 发现一行语句搞定,善哉善哉, 来用go玩练练手
package mainimport ( "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 mainimport ( "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[]uint8900150983cd24fb0d6963f7d28e17f72
不多说。
转载地址:http://oczti.baihongyu.com/