前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Golang语言情怀-第68期 Go 语言标准库翻译 crypto/sha256

Golang语言情怀-第68期 Go 语言标准库翻译 crypto/sha256

作者头像
李海彬
发布2021-03-11 10:59:12
6380
发布2021-03-11 10:59:12
举报
文章被收录于专栏:Golang语言社区Golang语言社区

import "crypto/sha256"

sha256包实现了SHA224和SHA256哈希算法,

代码语言:javascript
复制
Constants
func Sum256(data []byte) [Size]byte
func New() hash.Hash
func Sum224(data []byte) (sum224 [Size224]byte)
func New224() hash.Hash

Constants ¶

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

SHA224和SHA256的字节块大小。

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

SHA256校验和的字节长度。

代码语言:javascript
复制
const Size224 = 28

SHA224校验和的字节长度。

func Sum256

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

返回数据的SHA256校验和。

代码语言:javascript
复制
package main

import (
    "crypto/sha256"
    "fmt"
)

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

func New

代码语言:javascript
复制
func New() hash.Hash

返回一个新的使用SHA256校验算法的hash.Hash接口。

代码语言:javascript
复制
package main

import (
    "crypto/sha256"
    "fmt"
)

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

代码语言: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))
}

func Sum224

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

返回数据的SHA224校验和。

func New224

代码语言:javascript
复制
func New224() hash.Hash

返回一个新的使用SHA224校验算法的hash.Hash接口。


参考资料:

Go语言中文文档

http://www.golang.ltd/

Go语言官方文档

https://golang.google.cn/

Golang语言情怀

ID:wwwGolangLtd

www.Golang.Ltd

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-03-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Golang语言情怀 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Constants ¶
  • func Sum256
  • func New
  • func Sum224
  • func New224
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档