-- Leo's gemini proxy

-- Connecting to godocs.io:1965...

-- Connected

-- Sending request

-- Meta line: 20 text/gemini

package sha256 - crypto/sha256 - godocs.io


import "crypto/sha256"

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


Constants


const BlockSize = 64

The blocksize of SHA256 and SHA224 in bytes.


const Size = 32

The size of a SHA256 checksum in bytes.


const Size224 = 28

The size of a SHA224 checksum in bytes.


Functions


func New

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


Code:

package main

import (
	"crypto/sha256"
	"fmt"
)

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


Output:

a948904f2f0f479b8f8197694b30184b0d2ed1c1cd2a1ec0fb85d299a192a447

Example (File)


Code:

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

func New224() hash.Hash

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


func Sum224

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

Sum224 returns the SHA224 checksum of the data.


func Sum256

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

Sum256 returns the SHA256 checksum of the data.


Example


Code:

package main

import (
	"crypto/sha256"
	"fmt"
)

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


Output:

a948904f2f0f479b8f8197694b30184b0d2ed1c1cd2a1ec0fb85d299a192a447

Details

Version: v1.22.3 (latest)

Published: May 1, 2024

Platform: linux/amd64

Imports: 7 packages

Last checked: 6 minutes ago

Refresh now


Back to home

Search

-- Response ended

-- Page fetched on Mon May 20 16:21:31 2024