package localFileStructure import ( "crypto/md5" "fmt" "github.com/sirupsen/logrus" "io" "os" ) func CalculateFileCheckSums(filePath string) (string, error) { file, err := os.Open(filePath) if err != nil { logrus.Errorf("Could not open file %s", filePath) return "", err } defer file.Close() hash := md5.New() if _, err := io.Copy(hash, file); err != nil { logrus.Errorf("Could calculate md5 sum of file %s", filePath) return "", err } md5sum := fmt.Sprintf("%x", hash.Sum(nil)) logrus.Tracef("Calculated md5 sum of %s - %s", filePath, md5sum) return md5sum, nil }