Golang 计算文件 MD5 哈希值:简单高效的函数实现
以下是一个使用 Golang 编写计算指定文件的 MD5 的函数:
package main
import (
"crypto/md5"
"encoding/hex"
"fmt"
"io"
"os"
)
func getMD5(filename string) (string, error) {
file, err := os.Open(filename)
if err != nil {
return "", err
}
defer file.Close()
hash := md5.New()
if _, err := io.Copy(hash, file); err != nil {
return "", err
}
hashInBytes := hash.Sum(nil)[:16]
return hex.EncodeToString(hashInBytes), nil
}
func main() {
md5, err := getMD5("test.txt")
if err != nil {
fmt.Println(err)
} else {
fmt.Println("MD5:", md5)
}
}
在上面的代码中,我们使用了 Golang 内置的 crypto/md5 包来计算文件的 MD5。我们首先打开文件并读取它的内容,然后将其传递给 MD5 哈希函数。最后,我们将哈希值转换为十六进制字符串并返回。在 main 函数中,我们调用 getMD5 函数并输出结果。
原文地址: https://www.cveoy.top/t/topic/lH1x 著作权归作者所有。请勿转载和采集!