![1b13b6454cfb346935382dddd566bef3.png](https://i-blog.csdnimg.cn/blog_migrate/2bd518084fa26e4e9268669c2a3485c3.jpeg)
整理了一下Go操作SHA256的三种方式
package main
import (
"crypto/sha256"
"fmt"
"io"
"os"
)
func main() {
//方式一
var date1 []byte = []byte("adfkfjsadsijfal")
var hs = sha256.Sum256(date1)
fmt.Printf("%Xn", hs)
//方式二
h := sha256.New()
h.Write([]byte("adfkfjsadsijfal"))
fmt.Printf("%Xn", h.Sum(nil))
//方式三 从文件读取
ha := sha256.New()
f, err := os.Open("hash.test")
if err != nil {
fmt.Println("error1!")
}
defer f.Close()
if _, err := io.Copy(ha, f); err != nil {
fmt.Println("error2")
}
fmt.Printf("%X", ha.Sum(nil))
}
运行,输出结果