Go实现MD5加密的三种方法

时间:2025-03-02 11:24:07

第一种方法:() 和 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
}

第二种方法:() 和

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
}

第三种方法:

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))
}

参考

/go-pkgs/crypto/
/pkg/crypto_md5.htm