-1

我有一些值存储为我想“解码”的 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"
4

1 回答 1

1

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

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

于 2021-09-14T02:49:50.387 回答