package main

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

// MD5Hash 函数接收一个字符串作为输入,返回该字符串的MD5哈希值(十六进制格式)
func MD5Hash(text string) string {
	// 创建一个新的hash.Hash接口来写入数据
	hasher := md5.New()

	// 写入需要哈希的数据
	io.WriteString(hasher, text)

	// 计算哈希值的Sum(字节切片)
	sum := hasher.Sum(nil)

	// 将字节切片转换为十六进制字符串
	return hex.EncodeToString(sum)
}

func main() {
	text := "算法比赛.tar"
	hash := MD5Hash(text)
	fmt.Printf("The MD5 hash of '%s' is: %s\n", text, hash[0:8])
}