英文:
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))
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论