package utils import ( "crypto/md5" "fmt" "io/ioutil" "os" "runtime" ) func Md5sum(filepath string) (string, error) { f, err := os.Open(filepath) if nil != err { return "", err } defer f.Close() payload, err := ioutil.ReadAll(f) if nil != err { return "", err } md5sum := fmt.Sprintf("%x", md5.Sum(payload)) runtime.GC() return md5sum, nil }