Encryption key in CodeIgniter

The key should be as random as possible and it must not be a regular text string, nor the output of a hashing function, etc.

To save your key to your application/config/config.php, open the file and set:

$config['encryption_key'] = 'yourKeyHere'

Random Key Generator

It's important for you to know that the encoded messages the encryption function generates will be approximately 2.6 times longer than the original message. For example, if you encrypt the string "my super secret data", which is 21 characters in length, you'll end up with an encoded string that is roughly 55 characters (we say "roughly" because the encoded string length increments in 64 bit clusters, so it's not exactly linear). Keep this information in mind when selecting your data storage mechanism. Cookies, for example, can only hold 4K of information.


In addition to the answer by Chumillas, I personally use this Random Key Generator for my CodeIgniter encryption strings. Quick and easy.


Codeigniter 3.1.0 YOU MUST NOT USE REGULAR TEXT FOR 'encryption_key'

"The key should be as random as possible and it must not be a regular text string, nor the output of a hashing function, etc. In order to create a proper key, you must use the Encryption library’s create_key() method"

$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>);

Source: https://codeigniter.com/userguide3/libraries/encryption.html#setting-your-encryption-key

Tags:

Codeigniter