如何在GO中计算文件的校验和

huangapple go评论82阅读模式
英文:

How to calculate checksum of a file in GO

问题

我需要计算文件的校验和以确定现有文件的数据完整性。我需要用于大文件以避免下载。你能给我一些想法吗?

英文:

I need calculate checksum of a file to determine the integrity of data of existing file. I need it for large files to avoid the download. Can you give me any idea?

答案1

得分: 4

你可以通过以下方式实现:

f, err := os.Open(path)
if err != nil {
    glog.Fatal(err)
}
defer f.Close()

hasher := sha256.New()
if _, err := io.Copy(hasher, f); err != nil {
    glog.Fatal(err)
}
value := hex.EncodeToString(hasher.Sum(nil))

这段代码的功能是打开指定路径的文件,并计算文件内容的 SHA256 哈希值,最后将哈希值转换为十六进制字符串。

英文:

You can do that by :

f, err := os.Open(path)
if err != nil {
	glog.Fatal(err)
}
defer f.Close()

hasher := sha256.New()
if _, err := io.Copy(hasher, f); err != nil {
	glog.Fatal(err)
}
value:= hex.EncodeToString(hasher.Sum(nil))

huangapple
  • 本文由 发表于 2015年9月26日 20:51:58
  • 转载请务必保留本文链接:https://go.coder-hub.com/32797394.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定