我想解除在我們的openldap環境中SSHA加密的userPassword。我不想要純文本密碼,但希望獲得未加密的哈希密碼。OpenLDAP Unsalt PHP中的SSHA用戶密碼
有什麼想法?即使是散列和醃製的方法也是有用的。
我想解除在我們的openldap環境中SSHA加密的userPassword。我不想要純文本密碼,但希望獲得未加密的哈希密碼。OpenLDAP Unsalt PHP中的SSHA用戶密碼
有什麼想法?即使是散列和醃製的方法也是有用的。
你想以某種方式轉換
salt + sha1(salt + password)
到
sha1(password)
我看不出這有可能不知道明文密碼。如果可能的話,醃製本身將是一種無用而且微不足道的可逆技術。
這絕對是鹽+沙1(鹽+通)?我也見過sha1(傳球+鹽)+鹽。我也會嘗試這種方式。 我正在接受輸入並比較輸入的哈希與存儲的用戶密碼。這比認證更深一點,否則我只是測試綁定。 –
我在描述抽象的過程,看來OpenLDAP中的實際算法是'{SSHA}'+ base64(sha1(密碼+鹽))+ salt'。 – lanzz
http://www.php.net/manual/en/function.sha1.php#104232? – DaveRandom
或'function checkSSHAPass($ plainTextPass,$ ldapPass){if(strtoupper(substr($ ldapPass,0,6))!='{SSHA}')return FALSE; $ passStr = base64_decode(substr($ ldapPass,6)); return substr($ passStr,0,20)== sha1($ plainTextPass.substr($ passStr,20),TRUE); ''? – DaveRandom
@DaveRandom就是這樣!出於好奇,你是否發現或自己編碼?我搜索了一段時間,沒有遇到任何東西。謝謝:) –