2014-04-04 149 views
2

我正在爲Moodle開發一個自定義登錄應用程序。Moodle如何加密密碼?

我只想知道Moodle使用哪種算法來加密密碼?所以,我可以在我的登錄應用程序上對Moodle用戶進行身份驗證。

回答

2

Moodle有一個可插拔的驗證體系結構。如果您開發自定義Moodle authentication plugin,或找到一個已開發的,您可以將任何認證令牌傳遞給Moodle。

+0

我不想連接到Moodle。我有一個數據庫,我只想加密用戶憑據並將其與我的數據庫進行比較,以檢查用戶訪問權限。 –

+1

所以,你想使用Moodle作爲身份驗證_provider_?我想這是可能的,但那將是一個非常奇怪的架構。通過使用[LDAP作爲用戶數據庫](http://docs.moodle.org/26/en/LDAP_authentication)正確執行操作,然後配置Moodle和您的應用程序以使用LDAP進行身份驗證。 –

+0

我正在開發一個PHP登錄頁面。只要用戶提交他們的憑證,我的應用程序就應該發送一個AJAX請求來驗證登錄憑證是否正確。我有權訪問PHPMyAdmin。我只想知道如何加密用戶輸入的密碼或其他任何方式來檢查用戶輸入的值是否正確? –

3

這取決於Moodle的版本。直到2.5:MD5加可選鹽(全球鹽,每個密碼,存儲在$CFG->passwordsaltmain)。由於Moodle 2.5:

從Moodle 2.5開始,Moodle爲每個用戶自動生成並添加不同的鹽。

和:

新的密碼哈希機制依賴於從PHP bcrypt支持,僅在PHP版本通常是可用的5.3.7或更高版本(見下面的註釋)。如果您使用的PHP版本不能正確支持bcrypt,Moodle將回退到舊密碼哈希方案,因此我們建議您繼續使用站點範圍內的鹽,直到您能夠升級PHP。

來源:Password salting

0

Moodle的使用MD5算法來加密口令

1

搜索一段時間的密碼哈希生成函數後,我發現下面的答案很簡單:在Moodle中的較新版本,你可以使用以下命令:

echo password_hash("my password", PASSWORD_DEFAULT, array());
+0

謝謝你的回答! – moonvader