📌  相关文章
📜  golang 获取文件 md5 - Go 编程语言(1)

📅  最后修改于: 2023-12-03 14:41:35.092000             🧑  作者: Mango

Golang 获取文件 MD5

在编程过程中,我们经常需要用到文件的 MD5 值来进行校验。在 Golang 中,通过内置库 crypto/md5 可以轻松地获取文件的 MD5。

代码示例
package main

import (
	"crypto/md5"
	"fmt"
	"io"
	"log"
	"os"
)

func main() {
	// 打开文件
	file, err := os.Open("example.txt")
	if err != nil {
		log.Fatal(err)
	}
	defer file.Close()

	// 创建一个新的 MD5 实例
	hash := md5.New()

	// 将文件内容拷贝到 MD5 实例中,同时计算 MD5 值
	if _, err := io.Copy(hash, file); err != nil {
		log.Fatal(err)
	}

	// 获取 MD5 值,以 16 进制字符串形式输出
	md5sum := fmt.Sprintf("%x", hash.Sum(nil))
	fmt.Println(md5sum)
}

以上代码展示了如何通过 Golang 内置库 crypto/md5 获取文件的 MD5 值。首先,我们需要使用 os.Open 函数打开文件;然后,创建一个新的 MD5 实例,并使用 io.Copy 函数将文件内容拷贝到 MD5 实例中,同时计算 MD5 值;最后,使用 hash.Sum(nil) 函数获取最终的 MD5 值,以 16 进制字符串形式输出。

注意事项

在使用 os.Open 函数打开文件时,需要确保文件路径的正确性,同时需要注意文件读写权限。在大文件计算 MD5 值的过程中,可能会占用大量的内存和 CPU 资源,因此需要注意程序的性能。