如果您想使用Session類,CodeIgniter 2.0.2需要在配置文件中設置一個加密密鑰,即$config['encryption_key']
。是否可以任意字符串?任何安全encryption_key的例子?CodeIgniter中的加密密鑰
謝謝。
如果您想使用Session類,CodeIgniter 2.0.2需要在配置文件中設置一個加密密鑰,即$config['encryption_key']
。是否可以任意字符串?任何安全encryption_key的例子?CodeIgniter中的加密密鑰
謝謝。
是
$config['encryption_key'] = 'howAreYou'
讓你知道加密函數生成編碼消息會比原始郵件長大約2.6倍是很重要的。例如,如果加密字符串「我的超級祕密數據」(長度爲21個字符),則最終將得到一個大約55個字符的編碼字符串(我們說「粗略」,因爲編碼的字符串長度以64爲增量位集羣,所以它不完全是線性的)。選擇數據存儲機制時請記住這些信息。例如,Cookie只能保存4K條信息。
除了Chumillas的回答,我個人使用這個Random Key Generator爲我的CodeIgniter加密字符串。快捷方便。
剛去的application/config
打開config.php文件
找出字
$config['encryption_key'] = '';
與
$config['encryption_key'] = 'your_encryption_key_here';
替換此加密密鑰可以是任何字符串的類型,但要使它強大(像一個好的密碼應該是),建議選擇一個包含隨機字母數字字符的字符。也可以在大寫和小寫字母之間切換。
爲了簡化這個過程,我創建了一個方便的在線解決方案,它爲您生成一個隨機的32個字符的字母數字加密密鑰。它可以用於任何CodeIgniter,Laravel或您需要的項目。
請提供更多信息。提供到外部信息源的鏈接不是Stackoverflow的要點。 – user2314737 2014-02-19 12:56:16
將密鑰保存到的application/config/config.php文件,打開文件,並設置:
上線227 $config['encryption_key'] = "YOUR KEY";
$ myconfig =&get_config(); $ key = $ myconfig ['encryption_key']; //並得到它 – Robot70 2016-12-08 20:10:33
我使用下面的代碼我的應用程序的安裝程序。它需要128個字節的隨機數據(轉換爲一個十六進制字符串),並一次接受兩個字符,轉換爲十進制數,並檢查它們是否在可接受的範圍內(字母數字,帶符號,無空格或字符不會玩你的編輯器或配置文件很好 - 別名')
32個字符是128位,所以它適用於塊密碼。
function random_key_string() {
$source = bin2hex(openssl_random_pseudo_bytes(128));
$string = '';
$c = 0;
while(strlen($string) < 32) {
$dec = gmp_strval(gmp_init(substr($source, $c*2, 2), 16),10);
if($dec > 33 && $dec < 127 && $dec !== 39)
$string.=chr($dec);
$c++;
}
return $string;
}
嗨@Karimkorun - 我期待通過安裝程序自己設置此密鑰,並遇到您的答案。你如何去寫配置文件的值?代碼點火器是否提供了一個方便的方法? – 2014-07-21 18:27:51
我寫了一個安裝程序來執行此操作,因爲它是一個開源應用程序。您可以在創建新應用程序時編寫CLI腳本來生成配置文件。 – karimkorun 2014-08-08 02:10:25
Codeigniter 3.1。0 您不得使用「encryption_key」常規文本
「最關鍵的應該是儘可能隨機的,它必須不是一個普通的文本字符串,也不是一個散列函數的輸出等。爲了創造一個正確的密鑰,則必須使用加密庫的create_key()方法」
$this->load->library('encryption');
$key = $this->encryption->create_key(16);
// Get a hex-encoded representation of the key:
$key = bin2hex($this->encryption->create_key(16));
// Put the same value in your config with hex2bin(),
// so that it is still passed as binary to the library:
$config['encryption_key'] = hex2bin(<your hex-encoded key>);
來源:https://codeigniter.com/userguide3/libraries/encryption.html#setting-your-encryption-key
我知道配置設置進入config.php,但你把$ key的設置放在哪裏? – bjacobs 2017-08-18 20:32:30
+1有關餅乾大小的信息,我直到我讀到這個並且使用了一些隨機的複雜密鑰 – Nishanthan 2014-07-15 13:01:09