2012-05-31 105 views
1

我正在開發一個wordpress插件。 在該插件中,用戶需要鍵入一些重要的登錄信息,我將在cron-job中使用這些信息。保存加密/解密密鑰的最佳方法是什麼?

我的事業一樣來加密密碼,並發現這個有用的東西: Best way to use PHP to encrypt and decrypt passwords?

不過,我應該如何保存密鑰? 我無法將其保存在文件中,因爲當用戶更新插件時,所有文件都將被替換。 並將它保存在數據庫中,好吧 - 我想這不是很聰明。

有什麼建議嗎?

+2

你爲什麼認爲保存在數據庫中不聰明? –

+1

我想你想加密密碼的原因首先是爲了防止濫用,如果有人訪問您的數據庫。所以通過將密鑰保存在數據庫中會使其變得毫無價值,因爲有人可以獲得密鑰並進行解密。或者我錯了? –

+0

爲什麼你不要哈希密碼?有什麼特別的原因嗎? – nhahtdh

回答

1

如果你加密,你仍然必須將加密密鑰存儲在同一臺機器上 - 只有代碼混淆可能會使減速發生攻擊。

在最好的情況下,只有您的數據庫存在漏洞,在這種情況下,將加密密碼存儲在數據庫中以及文件系統中的密鑰並不是一個可怕的解決方案。

最糟糕的情況是,系統徹底破壞。在這種情況下,如果您必須將密鑰存儲在明顯的位置,則不需要任何加密就可以節省您的時間。混淆可能會使問題複雜化,給業主足夠的時間來保護帳戶。

+0

這就是我一直在想的。將加密的詳細信息保存到數據庫中,並將密鑰保存在單獨的文件中。但問題是,當用戶更新插件時,所有文件將被新的新文件替換,也是他的密鑰。 Blaaa ....太令人沮喪了:( –

+0

我對Wordpress並不熟悉,但是沒有一個可以放置配置文件的目錄嗎? –

+0

如果不是,也許你可以讓插件的安裝過程的一部分 - 生成密鑰 –

0

我認爲它更好,如果你保存在數據庫表上的密鑰。關於部分securing the database and making sure that the data in the table will only be accessible by the authorized person,您可以創建第二個用戶,並有權訪問和讀取這些重要的表。

因此,創建一個單獨的用戶,他將有權訪問表及其內容。現在,使用不同用戶的網站,並在需要訪問加密密鑰和其他重要信息時切換到管理數據庫用戶。

+0

我不能這樣做,我沒有擁有運行該插件的網站。 –

相關問題