W3cubDocs

/Go

Package 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

New
New (File)
Sum

Package files

md5.go md5block.go md5block_decl.go

Constants

The blocksize of MD5 in bytes.

const BlockSize = 64

The size of an MD5 checksum in bytes.

const Size = 16

func NewSource

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

package main

import (
	"crypto/md5"
	"fmt"
	"io"
)

func main() {
	h := md5.New()
	io.WriteString(h, "The fog is getting thicker!")
	io.WriteString(h, "And Leon's getting laaarger!")
	fmt.Printf("%x", h.Sum(nil))
}

Example (File)

package main

import (
	"crypto/md5"
	"fmt"
	"io"
	"log"
	"os"
)

func main() {
	f, err := os.Open("file.txt")
	if err != nil {
		log.Fatal(err)
	}
	defer f.Close()

	h := md5.New()
	if _, err := io.Copy(h, f); err != nil {
		log.Fatal(err)
	}

	fmt.Printf("%x", h.Sum(nil))
}

func SumSource 1.2

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

Sum returns the MD5 checksum of the data.

Example

package main

import (
	"crypto/md5"
	"fmt"
)

func main() {
	data := []byte("These pretzels are making me thirsty.")
	fmt.Printf("%x", md5.Sum(data))
}

© Google, Inc.
Licensed under the Creative Commons Attribution License 3.0.
https://golang.org/pkg/crypto/md5/