2015-02-07 35 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