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哈希函数。最后,我们将哈希值转换为16进制字符串并返回。在main函数中,我们调用getMD5函数并输出结果。
原文地址: https://www.cveoy.top/t/topic/vq2 著作权归作者所有。请勿转载和采集!