新手问题 如何快速计算上传文件的 hash 值

zwx490988 · 2020年01月04日 · 193 次阅读

问题是这样的,我这边上传文件完成后再读取文件计算 hash 值,有没有更好的办法一边保存,一边计算 hash 值,等上传完了就可以立刻得到 hash 值

func CalculateHashWithReader(reader io.Reader) string {
h := sha256.New()
breader := bufio.NewReader(reader)
buf := make([] byte, 1024*1024*10)
for {
n, err := breader.Read(buf)
if err != nil && err != io.EOF {
return ""
}
if n == 0 {
break
}
io.WriteString(h, string(buf[:n])) // append into the hash
}
return base64.StdEncoding.EncodeToString(h.Sum(nil))
}

更多原创文章干货分享,请关注公众号
  • 加微信实战群请加微信(注明:实战群):gocnio
暂无回复。
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册