在线文档教程

crypto/sha1

sha1包

  • import "crypto/sha1"

  • 概述

  • 索引

  • 示例

概述

sha1 包实现了 RFC 3174 中定义的 SHA-1 哈希算法。

SHA-1 密码破坏,不应用于安全应用程序。

索引

  • 常量

  • func New() hash.Hash

  • func Sum(data []byte) [Size]byte

示例

New New (File) Sum

文件包

sha1.go sha1block.go sha1block_amd64.go

常量

SHA-1 的块大小(以字节为单位)。

const BlockSize = 64

SHA-1 校验和的大小(以字节为单位)。

const Size = 20

func New(查看源代码)

func New() hash.Hash

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

示例

package main import ( "crypto/sha1" "fmt" "io" ) func main() { h := sha1.New() io.WriteString(h, "His money is twice tainted:") io.WriteString(h, " 'taint yours and 'taint mine.") fmt.Printf("% x", h.Sum(nil)) }

示例(File)

package main import ( "crypto/sha1" "fmt" "io" "log" "os" ) func main() { f, err := os.Open("file.txt") if err != nil { log.Fatal(err) } defer f.Close() h := sha1.New() if _, err := io.Copy(h, f err != nil { log.Fatal(err) } fmt.Printf("% x", h.Sum(nil)) }

func Sum(查看源代码)

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

总和返回数据的 SHA-1 校验和。

示例

package main import ( "crypto/sha1" "fmt" ) func main() { data := []byte("This page intentionally left blank.") fmt.Printf("% x", sha1.Sum(data)) }