package sha256
import "crypto/sha256"
Package sha256 implements the SHA224 and SHA256 hash algorithms as defined in FIPS 180-4.
Index
- Constants
- func New() hash.Hash
- func New224() hash.Hash
- func Sum224(data []byte) [Size224]byte
- func Sum256(data []byte) [Size]byte
Examples
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.
Output:Example
package main
import (
"crypto/sha256"
"fmt"
)
func main() {
h := sha256.New()
h.Write([]byte("hello world\n"))
fmt.Printf("%x", h.Sum(nil))
}
a948904f2f0f479b8f8197694b30184b0d2ed1c1cd2a1ec0fb85d299a192a447
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 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.
Output:Example
package main
import (
"crypto/sha256"
"fmt"
)
func main() {
sum := sha256.Sum256([]byte("hello world\n"))
fmt.Printf("%x", sum)
}
a948904f2f0f479b8f8197694b30184b0d2ed1c1cd2a1ec0fb85d299a192a447