version: 1.10

package md5

import "crypto/md5"

Overview

Package md5 implements the MD5 hash algorithm as defined in RFC 1321.

MD5 is cryptographically broken and should not be used for secure applications.

Index

Examples

Package files

md5.go md5block.go md5block_decl.go

Constants

  1. const BlockSize = 64

The blocksize of MD5 in bytes.

  1. const Size = 16

The size of an MD5 checksum in bytes.

func New

  1. func New() hash.Hash

New returns a new hash.Hash computing the MD5 checksum. The Hash also implements
encoding.BinaryMarshaler and encoding.BinaryUnmarshaler to marshal and unmarshal
the internal state of the hash.


Example:

  1. h := md5.New()
  2. io.WriteString(h, "The fog is getting thicker!")
  3. io.WriteString(h, "And Leon's getting laaarger!")
  4. fmt.Printf("%x", h.Sum(nil))
  5. // Output: e2c569be17396eca2a2e3c11578123ed


Example:

  1. f, err := os.Open("file.txt")
  2. if err != nil {
  3. log.Fatal(err)
  4. }
  5. defer f.Close()
  6. h := md5.New()
  7. if _, err := io.Copy(h, f); err != nil {
  8. log.Fatal(err)
  9. }
  10. fmt.Printf("%x", h.Sum(nil))

func Sum

  1. func Sum(data []byte) [Size]byte

Sum returns the MD5 checksum of the data.


Example:

  1. data := []byte("These pretzels are making me thirsty.")
  2. fmt.Printf("%x", md5.Sum(data))
  3. // Output: b0804ec967f48520697662a204f5fe72