2015-02-07 33 views
0

我写的代码的一部分来改变串入散列什么办法哈希变回它串在C#

String hash = GetHashString("A"); //return 7FC56270E7A70FA81A5935B72EACBE29 

我的问题是我怎么能回到“A”当我通过哈希代码?

7FC56270E7A70FA81A5935B72EACBE29

+0

哈希意在成为一种单向转换。 – Matthew 2015-02-07 17:48:43

+0

哈希不可逆。如果你想要可逆的东西,你正在寻找一种编码。不知道你的'GetHashString'方法实际上做了什么,没有办法知道它是否是一个或另一个,但如果它是正确命名的,它将是一个单向操作。 – 2015-02-07 17:54:36

+0

这是MD5哈希。它的设计不是可逆的操作。当然,在这一点上它是非常薄弱的​​,许多人创建了查找来扭转它。只是谷歌搜索的价值会给你几个网站,可以扭转它。 – 2015-02-07 18:56:18

回答

1

散列并不意味着是可逆的。如果你想比较它的来源与另一个字符串,只是散列第二个,然后比较它们的散列。

+0

嗨@Mihai Caracostea,我想用原来的价值,不想让别人知道价值。任何建议? – 2015-02-07 17:53:37

+0

考虑一下:如果你能扭转变革,那么任何人都可以。因此,将密码存储(例如哈希)将不再具有安全性。你最好的选择是加密而不是哈希。 – 2015-02-07 17:55:00