我只是好奇,如果這可以做到。我有散列密碼(算法SHA1)和密碼salt,我可以檢索密碼嗎?
我有散列密碼(算法SHA1)和密碼salt,我可以檢索密碼嗎?
它可以在SQL Server中完成,還是可以通過任何軟件完成?
例如:
Hashed GQdsHCOcun8JuysvqsM3pP0eeoU=
Password salt: CDjIsQcbz23NzXZLzHRTVw==
由於
我只是好奇,如果這可以做到。我有散列密碼(算法SHA1)和密碼salt,我可以檢索密碼嗎?
我有散列密碼(算法SHA1)和密碼salt,我可以檢索密碼嗎?
它可以在SQL Server中完成,還是可以通過任何軟件完成?
例如:
Hashed GQdsHCOcun8JuysvqsM3pP0eeoU=
Password salt: CDjIsQcbz23NzXZLzHRTVw==
由於
號哈希是單向函數。您可以輸入密碼brute-force,直到您猜出正確的密碼,但您無法解密它們。
簡短的回答是沒有。 SHA1是單向散列算法。理論上你可以找到其他也產生相同散列(衝突)的單詞,但是這會花費大量的時間和計算資源。
對於那些好奇的碰撞,你可以看到[這個答案](http://stackoverflow.com/questions/1867191/probability-of-sha1-collisions)關於它們的概率。 –
感謝您的信息。 – NoviceDeveloper
Alex W是正確的。使用哈希密碼和salt,確認給定的密碼是否正確。但是,您不能(輕易地)弄清楚原始密碼是什麼,只有哈希密碼和salt。 – mti2935
謝謝你們。 – NoviceDeveloper
@NoviceDeveloper - 正如Alex所說,你不能解密一個散列,但是你可以用通用硬件每秒鐘對[3千兆](http://hashcat.net/oclhashcat/#performance)SHA1哈希進行蠻力操作。這意味着SHA *不適合散列密碼,而應該使用慢密鑰派生函數,如BCrypt或PBKDF2。 – martinstoeckli