2016-03-23 81 views
0

我對Craft很新穎,而Craft對於這個世界來說是相當新的。我想知道是否有人知道如何在數據庫中加密用於存儲的密碼,或者可以指出我在正確的方向,哪裏有一些關於如何執行此操作的說明?如何在Craft CMS中以加密形式存儲密碼?

我有一個很好的搜索,並沒有拿出任何東西。我已經閱讀過文檔,它的'安全服務'中有一個加密方法,但我不明白如何實現它。我也遇到了一個可能有所幫助的插件; https://github.com/t3kila/SecureField-Craft但我更喜歡本機解決方案,以便存儲保持不依賴任何第三方插件。

我試過了;

$password = craft()->securityService->encrypt($password) 

但無濟於事......我敢肯定,這將是一個相當簡單的練習的人誰知道如何,但它只是太新,有沒有很多的信息在那裏。

+0

我回答之前,能否請您解釋一下爲什麼要加密的密碼[而不是存儲它們正確](https://paragonie.com/blog/2016/02/how-safely-store-password-在-2016)? –

回答

1

這應該是相當簡單的。您可以使用Craft的SecurityService,但在存儲到數據庫之前,您還應該使用加密密碼base64_encode

$encryptedPassword = base64_encode(craft()->security->encrypt($password)); 

$decryptedPassword = craft()->security->decrypt(base64_decode($encryptedPassword)); 
+0

經過測試,這工作。應該是被接受的答案。 –