💾 Archived View for godocs.io › crypto › sha256 captured on 2024-06-16 at 17:10:48. Gemini links have been rewritten to link to archived content
⬅️ Previous capture (2024-05-26)
-=-=-=-=-=-=-
import "crypto/sha256"
Package sha256 implements the SHA224 and SHA256 hash algorithms as defined in FIPS 180-4.
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.
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.
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
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() hash.Hash
New224 returns a new hash.Hash computing the SHA224 checksum.
func Sum224(data []byte) [Size224]byte
Sum224 returns the SHA224 checksum of the data.
func Sum256(data []byte) [Size]byte
Sum256 returns the SHA256 checksum of the data.
Code:
package main import ( "crypto/sha256" "fmt" ) func main() { sum := sha256.Sum256([]byte("hello world\n")) fmt.Printf("%x", sum) }
Output:
a948904f2f0f479b8f8197694b30184b0d2ed1c1cd2a1ec0fb85d299a192a447