如何从gethashcode生成的int中获得原始字符串

本文关键字:原始 字符串 int gethashcode | 更新日期: 2023-09-27 18:09:52

我已经生成了一个哈希码

string textBoxVal="Naresh";
int code =textBoxVal.GetHashCode();
textBox2.Text=code.ToString();

生成一个整数值-1078339947;

现在我想用这个(-1078339947)哈希码获得原始名称Naresh。

如何从gethashcode生成的int中获得原始字符串

对于所有的实际目的,你不能:哈希码比字符串少得多,所以有不止一个原始值可以给出相同的哈希码。

哈希实际上是一个单向操作。如果有人引用一个可逆哈希,这不是一个真正的哈希(因为根据定义,哈希将输入集减少为较少数量的输出值之一)。与您所描述的最接近的操作可能是加密函数-这将允许您反转操作-但这不太可能生成像您问题中10位输出那样小的数字。

你不能这么做!哈希码不包含将其转换回字符串所需的所有信息。

甚至不能保证GetHashCode()在不同的环境中会返回相同的结果。

查看Eric Lippert的博客文章Guidelines and rules for GetHashCode