解码golang中的fnv128哈希值



我有一些值存储为128位FNV-1a哈希,我想"解码"。从我的理解来看,虽然大多数哈希是单向的,但FNV不是加密哈希。是否有可能"解码"?一个我自己创建的FNV哈希?我使用的是golang,下面是示例散列。

value, err := json.Marshal("hello world")
if err != nil {
fmt.Println(err)
}
fnv128 := fnv.New128a()
_, err = fnv128.Write(value)
if err != nil {
fmt.Println(err)
}
hash := fnv128.Sum([]byte{})
// given the hash above, find the value "hello world"

你不能"解码";哈希,因为哈希不是一种编码,它是一种单向转换。仅仅因为这个散列不被认为是加密安全的,并不意味着你可以反转它。

你的选择是一个蛮力搜索,可行性取决于你需要搜索匹配输入的总空间。

最新更新