2009-06-09 59 views
1

選擇HASHBYTES(「沙」,「是什麼」) 結果--0x2327A09C2FDAD132E436B5CC12E9D5D283B5BA69 是有可能HASHBYTES轉換回字符串「0x2327A09C2FDAD132E436B5CC12E9D5D283B5BA69」作爲輸入 想出去把爲「是什麼「?HASHBYTES轉換

回答

0

不。這是一個散列的整個點。

您使用它們像一個密碼,這樣每當有人試圖登錄用戶使用電腦時,他們試圖與登錄密碼(加上鹽)的哈希和比較,您的儲值。這種方式即使某人(如心懷不滿的員工)發現存儲密碼的數據庫的備份磁帶和加密密鑰,但他們仍無法登錄到您的系統並在實時數據上執行操作。

0

散列函數被定義爲「單向」,即將文本轉換爲摘要(結果如上所示)。如果您使用此密碼進行密碼加密,則接受的用法是通過哈希函數運行用戶輸入(從其密碼錶單中)並驗證它是否與存儲的摘要相匹配。

如果您希望解密提供的文本輸入,您需要查看其他加密解決方案,如Symmetric-keyAsymmetric-key算法。

當然,如果你正在做這些,你將要輸入sanitize

0

像前面提到的海報一樣,散列絕對是單向操作。它需要一個(可能很大的)輸入,並且以這樣一種方式快速處理輸入,即輸出是一個很小但非常獨特(基於輸入)的輸出。無論是從設計還是具有小尺寸輸出的性質來看,由於原始輸入在轉換中已經丟失,散列不能被撤消。常見的哈希算法包括Message Digest系列(通常是MD5)和您在問題中提到的SHA系列。

同樣作爲以前的海報提到的,如果你正在尋找一個2路的操作,加密是你在找什麼。此外,如果您希望同一用戶對字符串進行加密和解密,請使用對稱加密。目前實踐中使用的一些常用算法是AES,DES和Blowfish。

0

如果你有一個最小完美哈希值,然後在最起碼,你應該能夠蠻力原始輸入。但據推測,這不是你問什麼,如果這是正確的,然後看到所有其他的答案:)