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是哈希函数,不是加密函数。散列函数的要点是不可能将输出转换回输入
所以我在 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是哈希函数,不是加密函数。散列函数的要点是不可能将输出转换回输入