2011-07-14 145 views
0

我遇到了一個問題,當將密碼插入數據庫時​​,我正在使用哈希算法,密碼已清除,哈希密碼本身加上鹽,但我可以'弄清楚它們之間發生了什麼(PHP開發人員,而不是.NET)。ASP密碼哈希算法

如果任何人都可以幫我解決什麼類型的散列已被使用,這將是王牌。

  • 的散列的口令:a77U3b3ovil @慈
  • 鹽:394279838
  • 哈希密碼:F80ADFC2175F9DB94745E6A9B8CFA575D5B94263C523F9249620BEC958026DB4

它被插入通過一個ASP MSSQL數據庫。

+1

如果你有這麼多的訪問權限,你不能訪問asp文件來查找正在執行的代碼嗎? – Treborbob

+0

不,這是一個封閉的系統,它需要很長時間才能訪問這麼多的數據庫,他們只打算讓我們訪問數據庫。 –

+0

它可能是SHA256的約1000倍應用,由鹽串聯組成......如何找出答案?也許嘗試一些標準的bcrypt例程。 –

回答

1

你的結果有64個十六進制字符,所以64×4位=總共256位。 這意味着它是一個SHA-256的任何

SHA1的輸出,default hashing algorithm of ASP.NET有160位= 40個字符,所以這似乎與您所擁有的數據不符。

在另一方面,有可能是在代碼(see)申請鹽:

computeHash(user.salt + "98hloj5674" + password) 

,如果你不知道一個,有沒有機會找到答案。你能猜到嗎?你需要一個dictionary attack(嘗試所有的可能性),使用哈希值就是這需要你幾年(對於SHA-256)或幾個小時(對於MD5)。

我試過了很明顯的選項(比如sha256(Pass & Salt)),但沒有一個工作。如果不能訪問代碼,恐怕沒有明顯的答案。