Go语言MD5加密

Go中通过crypto/md5有两种MD5加密方式:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
package main

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

func main() {
//需要MD5的字符串
str := []byte("hello world")

//方法一:
//实例化md5对象,返回hash.Hash对象
m := md5.New()
m.Write(str)
//计算MD5检验和
md5Str := m.Sum(nil)
fmt.Printf("%x\n", md5Str)
//转换成16进制
fmt.Println(hex.EncodeToString(md5Str))

//方法二:
md5Str1 := md5.Sum(str)
fmt.Printf("%x\n", md5Str1)
//转换成16进制,需要注意md5后的数据类型
fmt.Println(hex.EncodeToString(md5Str1[:]))
}