Compute message digest, like MD5, SHA256, SHA1, CRC or BLAKE2s-256 in Golang for potentially large files.
package main
import (
"fmt"
"github.com/codingsince1985/checksum"
)
func main() {
file := "/home/jerry/Downloads/ubuntu-20.04.2.0-desktop-amd64.iso"
md5, _ := checksum.MD5sum(file)
fmt.Println(md5)
sha256, _ := checksum.SHA256sum(file)
fmt.Println(sha256)
sha1, _ := checksum.SHA1sum(file)
fmt.Println(sha1)
crc32, _ := checksum.CRC32(file)
fmt.Println(crc32)
blake2s256, _ := checksum.Blake2s256(file)
fmt.Println(blake2s256)
}
checksum is distributed under the terms of the MIT license. See LICENSE for details.