Go实现MD5加密的三种方法小结

2023-03-07 12:05:39

第一种方法:md5.New()和Writepackagemainimport(crypto/md5encoding/hexfmt)funcmain(){st...

第一种方法:md5.New() 和 Write

package main

import (
 "crypto/md5"
 "encoding/hex"
 "fmt"
)

func main() {
 str := "123456"
 data := []byte(str)
 md5New := md5.New()
 md5New.Write(data)
 // hex转字符串
 md5String := hex.EncodeToString(md5New.Sum(nil))
 fmt.Println(md5String)
 // e10adc3949ba59abbe56e057f20f883e
}

第二种方法:md5.New() 和 io.WriteString

package main

import (
 "crypto/md5"
 "encoding/hex"
 "fmt"
 "io"
)

func main() {
 h := md5.New()
 io.WriteString(h, "123456")
 sum := h.Sum(nil)
 fmt.Println(hex.EncodeToString(sum[:]))
 // e10adc3949ba59abbe56e057f20f883e
}

第三种方法:md5.Sum

package main

import (
 "crypto/md5"
 "encoding/hex"
 "fmt"
)

func main() {
 data := []byte("123456")
 sum := md5.Sum(data)
 // hex转字符串
 md5String := hex.EncodeToString(sum[:])
 fmt.Println(md5String)
 // e10adc3949ba59abbe56e057f20f883e
 // 同
 fmt.Printf("%x", md5.Sum(data))
}

参考

https://syaning.github.io/go-pkgs/crypto/mdpython5.html
http://doc.golang.ltd/pkg/crypto_md5.htm

到此这篇关于Go实现MD5加密的三种方法小结的文章就介绍到这了,更多相关Go MD5加密内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!