test.go 636 B

1234567891011121314151617181920212223242526272829
  1. package main
  2. import (
  3. "crypto/md5"
  4. "encoding/hex"
  5. "fmt"
  6. "io"
  7. )
  8. // MD5Hash 函数接收一个字符串作为输入,返回该字符串的MD5哈希值(十六进制格式)
  9. func MD5Hash(text string) string {
  10. // 创建一个新的hash.Hash接口来写入数据
  11. hasher := md5.New()
  12. // 写入需要哈希的数据
  13. io.WriteString(hasher, text)
  14. // 计算哈希值的Sum(字节切片)
  15. sum := hasher.Sum(nil)
  16. // 将字节切片转换为十六进制字符串
  17. return hex.EncodeToString(sum)
  18. }
  19. func main() {
  20. text := "算法比赛.tar"
  21. hash := MD5Hash(text)
  22. fmt.Printf("The MD5 hash of '%s' is: %s\n", text, hash[0:8])
  23. }