0

如何获得经过哈希处理的数据的真实价值?是否有可能在获得哈希码后仍然可以获得数据的真实价值?或者是否有任何代码可以反转输出。

String ida = new String(txtID.getText().toString());
    int idb = ida.hashCode();

    codeD.setText("result: " + ida );

我已经获得了 txtID(已输入的用户)的哈希码,但现在我想获得经过哈希处理的真实值而不调用 ida。

4

2 回答 2

2

简短的回答:没有。

长答案:散列是一种快速的单向计算,可以粗略地识别某些项目。在 Java 中,哈希码通常用于将某些内容放入 Map。当哈希码用作 HashMap 中的键时,哈希码用于区分一个对象和另一个对象。它并不意味着存储数据,只是为了防止冲突而有所不同。很可能有两个对象具有相同的哈希值。

于 2013-05-31T02:41:20.737 回答
0

正如 CodeChimp 解释的那样,您要做的不是散列,而是Encrypt/Decrypt。这个例子将帮助你做到这一点:http ://www.example-code.com/java/aes_dataStream.asp

如果你像我一样喜欢重新发明轮子,这可能会很有趣:http ://en.wikipedia.org/wiki/Affine_cipher

于 2013-05-31T03:24:00.400 回答