2011-01-26 60 views

回答

1

SHA1的全部要點是使這個不可能的。

但是,SHA1有弱點,這使得這不太可能。
你應該使用SHA512使它更不可能。

您可能正在尋找Rijndael(良好)對稱加密算法。

1

我認爲你有SHA1錯誤。 SHA1不是加密算法,它是散列函數。

散列函數是一個函數,它使用一些無條件的長參數字符串並將該字符串轉換爲更小的字符串,稱爲散列。它很難從散列獲得用於生成散列的字符串。實際上,由於輸入是任意長的,所以有多個這樣的輸入給出相同的散列。兩個這樣的輸入被稱爲衝突。因此,你真的不能「解密」一個散列,你可以找到一個輸入,雖然給出了相同的散列。

通常使用散列函數來散列用戶密碼,並將其存儲在服務器上的數據庫中。當服務器被用戶提供密碼時,服務器通過檢查散列密碼給出與存儲在數據庫中相同的結果來檢查密碼是否正確。 如果惡意用戶抓取存儲在數據庫中的內容,他無法知道實際的密碼,因爲從散列到用於生成散列的字符串非常困難。