md5
最后更新于:2022-04-02 02:42:53
[TOC]
## 三种加密方法
```
hash := md5.New()
hash.Write([]byte("hello world"))
fmt.Printf("%x\n", md5.Sum([]byte("hello world"))) // 5eb63bbbe01eeed093cb22bb8f5acdc3
fmt.Printf("%x\n", hash.Sum(nil)) // 5eb63bbbe01eeed093cb22bb8f5acdc3
fmt.Printf("%s\n", hex.EncodeToString(hash.Sum(nil))) // 5eb63bbbe01eeed093cb22bb8f5acdc3
```
## 示例
### 字符串 md5
```
func Md5(str []byte) string {
md5 := md5.New()
md5.Write(str)
return hex.EncodeToString(md5.Sum(nil))
}
```
### 文件 md5
```
func Md5File(file string) string {
f, err := os.Open(file)
if err != nil {
return ""
}
defer f.Close()
r := bufio.NewReader(f)
h := md5.New()
_, err = io.Copy(h, r)
if err != nil {
return ""
}
return hex.EncodeToString(h.Sum(nil))
}
```
';