Go中md5字符串的解密

Dencryption of md5 string in Go

所以我在 Go 中遇到了以下代码,试图解释 md5 哈希的工作原理。

package main

import (
    "crypto/md5"
    "fmt"
)

func HashFunc(word string) {

    hash := md5.New()
    bytes := []byte(word)

    hash.Write(bytes)
    hashValue := hash.Sum(nil)
    hashSize := hash.Size()

    for n := 0; n < hashSize; n += 4 {
        var val = uint32(hashValue[n])<<24 +
            uint32(hashValue[n+1])<<16 +
            uint32(hashValue[n+2])<<8 +
            uint32(hashValue[n+3])
        fmt.Printf("%x ", val)
    }
    fmt.Println()
}

我只想知道如何解密由上述函数加密的任何数据。

你没有

MD5是哈希函数,不是加密函数。散列函数的要点是不可能将输出转换回输入