首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

crypto/sha256

  • import "crypto/sha256"
  • 概述
  • 索引
  • 示例

概述

软件包sha256 实现 FIPS 180-4 中定义的 SHA224 和 SHA256 哈希算法。

索引

  • 常量
  • func New() hash.Hash
  • func New224() hash.Hash
  • func Sum224(data []byte) (sum224 [Size224]byte)
  • func Sum256(data []byte) [Size]byte

示例

New New (File) Sum256

文件包

常量

SHA256 和SHA224 的块大小以字节为单位。

代码语言:javascript
复制
const BlockSize = 64

SHA256 校验和的大小(以字节为单位)。

代码语言:javascript
复制
const Size = 32

SHA224 校验和的大小(以字节为单位)。

代码语言:javascript
复制
const Size224 = 28
代码语言:javascript
复制
func New() hash.Hash

New 返回一个新的 hash.Hash 计算 SHA256 校验和。

示例

代码语言:javascript
复制
package main

import (
	"crypto/sha256"
	"fmt"
)

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

示例(File)

代码语言:javascript
复制
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))
}
代码语言:javascript
复制
func New224() hash.Hash

New224 返回一个新的 hash.Hash 计算 SHA224 校验和。

代码语言:javascript
复制
func Sum224(data []byte) (sum224 [Size224]byte)

Sum224 返回数据的 SHA224 校验和。

代码语言:javascript
复制
func Sum256(data []byte) [Size]byte

Sum256 返回数据的 SHA256 校验和。

示例

代码语言:javascript
复制
package main

import (
	"crypto/sha256"
	"fmt"
)

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

扫码关注腾讯云开发者

领取腾讯云代金券