package hash import ( "crypto/md5" "encoding/hex" "io" "os" ) func FileMD5(fp string) (string, error) { f, err := os.OpenFile(fp, os.O_RDONLY, 0) if err != nil { return "", err } defer f.Close() hasher := md5.New() if _, err := io.Copy(hasher, f); err != nil { return "", err } sum := hasher.Sum(nil) return hex.EncodeToString(sum), nil }