通过 hash 判断文件是否被修改
目录
背景
在很多场景下,我们都需要判断项目中文件是否被修改,然后触发一些指定的操作,那么就可以对文件进行 hash,生成 hash code,每次的 hash code 和上次的进行对比,不一致则表明文件被修改
实现
通过一下函数对指定文件进行hash md5,生成md5字符串,修改文件后再生成新的md5字符串,两个对比即可知道文件是否有改动
func Md5sumFile(filepath string) (string,error) {
file, err := os.Open(filepath)
if err != nil {
return "", err
}
defer file.Close()
hash := md5.New()
if _, err := io.Copy(hash, file); err != nil {
return "", err
}
result := hex.EncodeToString(hash.Sum(nil))
return result, nil
}