用go语言来玩下md5

版权声明:本文为博主原创文章,转载时请务必注明本文地址, 禁止用于任何商业用途, 否则会用法律维权。 https://blog.csdn.net/stpeace/article/details/82052621

       早年用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

        不多说。
 

猜你喜欢

转载自blog.csdn.net/stpeace/article/details/82052621