package utils import ( "crypto/md5" "fmt" "io" "os" ) // Compare file md5 func CompareFileMd5(file, md5 string) (bool, error) { fileMd5, err := GetFileMd5(file) if err != nil { return false, err } return fileMd5 == md5, nil } // GetFileMd5 func GetFileMd5(file string) (string, error) { f, err := os.Open(file) if err != nil { return "", err } defer f.Close() h := md5.New() if _, err := io.Copy(h, f); err != nil { return "", err } return fmt.Sprintf("%x", h.Sum(nil)), nil }