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

crypto/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

文件包

常量

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

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

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

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

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

示例

代码语言:javascript
复制
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)

代码语言:javascript
复制
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))
}
代码语言:javascript
复制
func Sum(data []byte) [Size]byte

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

示例

代码语言:javascript
复制
package main

import (
	"crypto/sha1"
	"fmt"
)

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

扫码关注腾讯云开发者

领取腾讯云代金券