我已生成哈希码
string textBoxVal="Naresh";
int code =textBoxVal.GetHashCode();
textBox2.Text=code.ToString();
它生成了一个整数值-1078339947;
现在我想用这个(-1078339947)哈希码获取原始名称Naresh。我怎么能这样做。
答案 0 :(得分:5)
出于所有实际目的,你不能:哈希码少于字符串,因此有多个原始值可以提供相同的哈希码。
实际上,哈希是一种单向操作。如果有人引用可逆散列,则这不是真正的散列(因为散列by definition将输入集减少为较少数量的输出值之一)。与您描述的最接近的操作可能是加密功能 - 这将允许您反转操作 - 但这不太可能产生与您的问题中的10位输出一样小的数字。答案 1 :(得分:3)
你不能那样做!哈希码不包含将其转换回字符串的所有必要信息。
甚至不保证GetHashCode()
会在不同的环境中返回相同的内容。