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

crypto/md5

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

概述

md5 包实现了 RFC 1321 中定义的 MD5 哈希算法。

MD5 是加密破解的,不应用于安全应用程序。

索引

  • Constants
  • func New() hash.Hash
  • func Sum(data []byte) [Size]byte

示例

New New (File) Sum

文件包

常量

以字节为单位的MD5块大小。

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

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

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

New 返回一个新的散列.Hash 计算 MD5 校验和。

示例

代码语言:javascript
复制
package main

import (
	"crypto/md5"
	"fmt"
	"io"
)

func main() {
	h := md5.New()
	io.WriteString(h, "The fog is getting thicker!")
	io.WriteString(h, "And Leon's getting laaarger!")
	fmt.Printf("%x", h.Sum(nil))
}

示例(File)

代码语言:javascript
复制
package main

import (
	"crypto/md5"
	"fmt"
	"io"
	"log"
	"os"
)

func main() {
	f, err := os.Open("file.txt")
	if err != nil {
		log.Fatal(err)
	}
	defer f.Close()

	h := md5.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

总和返回数据的 MD5 校验和。

示例

代码语言:javascript
复制
package main

import (
	"crypto/md5"
	"fmt"
)

func main() {
	data := []byte("These pretzels are making me thirsty.")
	fmt.Printf("%x", md5.Sum(data))
}

扫码关注腾讯云开发者

领取腾讯云代金券