Go實(shí)現(xiàn)MD5加密的三種方法小結(jié)
第一種方法: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轉(zhuǎn)字符串
?? ?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轉(zhuǎn)字符串
?? ?md5String := hex.EncodeToString(sum[:])
?? ?fmt.Println(md5String)
?? ?// e10adc3949ba59abbe56e057f20f883e
?? ?// 同
?? ?fmt.Printf("%x", md5.Sum(data))
}參考
https://syaning.github.io/go-pkgs/crypto/md5.html
http://doc.golang.ltd/pkg/crypto_md5.htm
到此這篇關(guān)于Go實(shí)現(xiàn)MD5加密的三種方法小結(jié)的文章就介紹到這了,更多相關(guān)Go MD5加密內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Go語言學(xué)習(xí)之時(shí)間函數(shù)使用詳解
這篇文章主要為大家詳細(xì)介紹了Go語言中時(shí)間函數(shù)的使用方法,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)Go語言有一定的幫助,需要的可以參考一下2022-04-04
golang使用aes庫實(shí)現(xiàn)加解密操作
這篇文章主要介紹了golang使用aes庫實(shí)現(xiàn)加解密操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-12-12
Golang控制通道實(shí)現(xiàn)協(xié)程等待詳解
這篇文章主要介紹了Golang控制通道實(shí)現(xiàn)協(xié)程等待,通道是Go語言程序的并發(fā)體goroutine是它們之間的通信機(jī)制。一個(gè)通道是一個(gè)通信機(jī)制,它可以讓一個(gè)goroutine通過它給另一個(gè)goroutine發(fā)送值信息。每個(gè)通道都有一個(gè)特殊的類型,也就是channels可發(fā)送數(shù)據(jù)的類型2022-11-11
Golang實(shí)現(xiàn)延遲調(diào)用的項(xiàng)目實(shí)踐
本文主要介紹了Golang實(shí)現(xiàn)延遲調(diào)用的項(xiàng)目實(shí)踐,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2025-02-02

