version: 1.10

package sha256

import "crypto/sha256"

Overview

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

Index

Examples

Package files

sha256.go sha256block.go sha256block_amd64.go sha256block_decl.go

Constants

  1. const BlockSize = 64

The blocksize of SHA256 and SHA224 in bytes.

  1. const Size = 32

The size of a SHA256 checksum in bytes.

  1. const Size224 = 28

The size of a SHA224 checksum in bytes.

func New

  1. func New() hash.Hash

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


Example:

  1. h := sha256.New()
  2. h.Write([]byte("hello world\n"))
  3. fmt.Printf("%x", h.Sum(nil))
  4. // Output: a948904f2f0f479b8f8197694b30184b0d2ed1c1cd2a1ec0fb85d299a192a447


Example:

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

func New224

  1. func New224() hash.Hash

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

func Sum224

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

Sum224 returns the SHA224 checksum of the data.

func Sum256

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

Sum256 returns the SHA256 checksum of the data.


Example:

  1. sum := sha256.Sum256([]byte("hello world\n"))
  2. fmt.Printf("%x", sum)
  3. // Output: a948904f2f0f479b8f8197694b30184b0d2ed1c1cd2a1ec0fb85d299a192a447