Go 计算文件的 md5 和 sha1:
package main
import (
"crypto/md5"
"crypto/sha1"
"fmt"
"io"
"os"
)
func main() {
TestFile := "123.txt"
infile, inerr := os.Open(TestFile)
if inerr == nil {
md5h := md5.New()
io.Copy(md5h, infile)
fmt.Printf("%x %s\n", md5h.Sum([]byte("")), TestFile)
// 前面计算md5后,文件读写位置变了,这里调用Seek重置起始位置
infile.Seek(0, 0)
sha1h := sha1.New()
io.Copy(sha1h, infile)
fmt.Printf("%x %s\n", sha1h.Sum([]byte("")), TestFile)
} else {
fmt.Println(inerr)
os.Exit(1)
}
}
快来评论一下吧!
发表评论