2014-01-15 80 views
0

我存儲了非常敏感的信息,可以通過php界面訪問。我目前正在研究在哪裏存儲加密密鑰。一個想法是將其存儲在www文件夾之外,將其存儲在數據庫中不是一種選擇。存儲在PHP中使用的加密密鑰

任何想法如何做到這一點?我的想法是我在www文件夾之外創建一個文件,並且只讓該文件可以被webbserver訪問,然後使用PHP從它加載密鑰並解密數據。

該鍵應該如何生成?

+0

我想在這裏回答http://stackoverflow.com/a/19679151/575765類似的問題。 @YUNOWORK要小心這種笑話,總有人認真對待他們...... – martinstoeckli

+0

@YUNOWORK我認爲你會更好地提醒它。用戶永遠不會認爲警報將包含加密密鑰。 – Ryan

回答

0

是否有任何理由不能在WWW之外的PHP文件中定義密鑰然後包含它?

... /home/martin/keys/encryptionkey.php 
<?php 

$SUPER_SECRET_KEY = "abcdefg"; 

?> 

,然後在主代碼

include("/home/martin/keys/encryptionkey.php"); 
echo $SUPER_SECRET_KEY; 

至於如何產生的呢,對你正在使用的加密類型很強扶養的關鍵。檢查相關的PHP文檔。擁有合理長的隨機生成的密鑰通常是明智的。

的例子在mcrypt_encrypt用途:

$key = pack('H*', "bcb04b7e103a0cd8b54763051cef08bc55abe029fdebae5e1d417e2ffb2a00a3"); 
0

咦,加密和安全性在網絡上是非常非常複雜的事情,相當出這個問題的範圍。

一般來說,你不能像這樣保護你的數據。從服務器的物理安全性,網絡安全性,應用程序安全性,使用的加密算法和許多其他事物開始,您需要考慮涉及數據保護的許多其他因素。

如果你真的在乎你的數據,開始閱讀本網站上的第一篇: https://www.owasp.org/index.php/Main_Page

https://www.owasp.org/index.php/Top_10_2013-Top_10

然後觀看例如這個視頻,看看它是多麼糟糕!

https://www.youtube.com/watch?v=mgtkzjR-9G8#t=0