Package sha256 implements the SHA224 and SHA256 hash algorithms as defined in FIPS 180-4.
sha256.go sha256block.go sha256block_amd64.go sha256block_decl.go
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 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.
package main import ( "crypto/sha256" "fmt" ) func main() { h := sha256.New() h.Write([]byte("hello world\n")) fmt.Printf("%x", h.Sum(nil)) }
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 New224() hash.Hash
New224 returns a new hash.Hash computing the SHA224 checksum.
func Sum224(data []byte) (sum224 [Size224]byte)
Sum224 returns the SHA224 checksum of the data.
func Sum256(data []byte) [Size]byte
Sum256 returns the SHA256 checksum of the data.
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/