最近在對接對象存儲,為了確保上傳到對象存儲的文件沒有被損壞,所以需要計算文件的md5值,以確保文件的完整性。
現分享下目前工作中用到的各語言的md5的計算方式:
linux shell
md5sum ./cheshi.txt
windows cmd
certutil.exe -hashfile .\ceshi.txt MD5
python
import hashlib
if __name__ == "__main__":
with open("D:\\ceshi.txt", "rb") as f:
data = f.read()
file_md5 = hashlib.md5(data).hexdigest()
print(file_md5)
golang
package main
import (
"crypto/md5"
"encoding/hex"
"fmt"
"io"
"os"
)
func main() {
h := md5.New()
f, err := os.Open("D:\\ceshi.txt")
if err != nil {
fmt.Println(err)
return
}
io.Copy(h, f)
file_md5 := hex.EncodeToString(h.Sum(nil))
fmt.Println(file_md5)
}
