W3cubDocs

/Go

Package sha256

Overview

Package sha256 implements the SHA224 and SHA256 hash algorithms as defined in FIPS 180-4.

Index

Examples

New
New (File)
Sum256

Package files

sha256.go sha256block.go sha256block_decl.go

Constants

The blocksize of SHA256 and SHA224 in bytes.

const BlockSize = 64

The size of a SHA256 checksum in bytes.

const Size = 32

The size of a SHA224 checksum in bytes.

const Size224 = 28

func NewSource

func New() hash.Hash

New returns a new hash.Hash computing the SHA256 checksum.

Example

package main

import (
	"crypto/sha256"
	"fmt"
)

func main() {
	h := sha256.New()
	h.Write([]byte("hello world\n"))
	fmt.Printf("%x", h.Sum(nil))
}

Example (File)

package main

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

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

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

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

func New224Source

func New224() hash.Hash

New224 returns a new hash.Hash computing the SHA224 checksum.

func Sum224Source

func Sum224(data []byte) (sum224 [Size224]byte)

Sum224 returns the SHA224 checksum of the data.

func Sum256Source

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

Sum256 returns the SHA256 checksum of the data.

Example

package main

import (
	"crypto/sha256"
	"fmt"
)

func main() {
	sum := sha256.Sum256([]byte("hello world\n"))
	fmt.Printf("%x", sum)
}

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