Hash checksums: MD5, SHA-1, SHA-256
yourbasic.org/golang
String checksum
To compute the hash value of a string or byte slice,
use the Sum
function from a crypto package such as
crypto/md5
,
crypto/sha1
, or
crypto/sha256
.
s := "Foo"
md5 := md5.Sum([]byte(s))
sha1 := sha1.Sum([]byte(s))
sha256 := sha256.Sum256([]byte(s))
fmt.Printf("%x\n", md5)
fmt.Printf("%x\n", sha1)
fmt.Printf("%x\n", sha256)
1356c67d7ad1638d816bfb822dd2c25d
201a6b3053cc1422d2c3670b62616221d2290929
1cbec737f863e4922cee63cc2ebbfaafcd1cff8b790d8cfd2e6a5d550b648afa
File checksum
To compute the hash value of a file or other input stream:
- create a new
hash.Hash
from a crypto package such ascrypto/md5
,crypto/sha1
, orcrypto/sha256
, - add data by writing to its
io.Writer
function, - extract the checksum by calling its
Sum
function.
input := strings.NewReader("Foo")
hash := sha256.New()
if _, err := io.Copy(hash, input); err != nil {
log.Fatal(err)
}
sum := hash.Sum(nil)
fmt.Printf("%x\n", sum)
1cbec737f863e4922cee63cc2ebbfaafcd1cff8b790d8cfd2e6a5d550b648afa
More code examples
Go blueprints: code for common tasks is a collection of handy code examples.