我存儲了非常敏感的信息,可以通過php界面訪問。我目前正在研究在哪裏存儲加密密鑰。一個想法是將其存儲在www文件夾之外,將其存儲在數據庫中不是一種選擇。存儲在PHP中使用的加密密鑰
任何想法如何做到這一點?我的想法是我在www文件夾之外創建一個文件,並且只讓該文件可以被webbserver訪問,然後使用PHP從它加載密鑰並解密數據。
該鍵應該如何生成?
我存儲了非常敏感的信息,可以通過php界面訪問。我目前正在研究在哪裏存儲加密密鑰。一個想法是將其存儲在www文件夾之外,將其存儲在數據庫中不是一種選擇。存儲在PHP中使用的加密密鑰
任何想法如何做到這一點?我的想法是我在www文件夾之外創建一個文件,並且只讓該文件可以被webbserver訪問,然後使用PHP從它加載密鑰並解密數據。
該鍵應該如何生成?
是否有任何理由不能在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");
咦,加密和安全性在網絡上是非常非常複雜的事情,相當出這個問題的範圍。
一般來說,你不能像這樣保護你的數據。從服務器的物理安全性,網絡安全性,應用程序安全性,使用的加密算法和許多其他事物開始,您需要考慮涉及數據保護的許多其他因素。
如果你真的在乎你的數據,開始閱讀本網站上的第一篇: https://www.owasp.org/index.php/Main_Page
https://www.owasp.org/index.php/Top_10_2013-Top_10
然後觀看例如這個視頻,看看它是多麼糟糕!
我想在這裏回答http://stackoverflow.com/a/19679151/575765類似的問題。 @YUNOWORK要小心這種笑話,總有人認真對待他們...... – martinstoeckli
@YUNOWORK我認爲你會更好地提醒它。用戶永遠不會認爲警報將包含加密密鑰。 – Ryan