CI_Encrypt::encode_from_legacy()

encode_from_legacy($string[, $legacy_mode = MCRYPT_MODE_ECB[, $key = '']])

Parameters:
  • $string (string) – String to encrypt
  • $legacy_mode (int) – Valid PHP MCrypt cipher constant
  • $key (string) – Encryption key
Returns:

Newly encrypted string

Return type:

string

Enables you to re-encode data that was originally encrypted with CodeIgniter 1.x to be compatible with the Encrypt library in CodeIgniter 2.x. It is only necessary to use this method if you have encrypted data stored permanently such as in a file or database and are on a server that supports Mcrypt. “Light” use encryption such as encrypted session data or transitory encrypted flashdata require no intervention on your part. However, existing encrypted Sessions will be destroyed since data encrypted prior to 2.x will not be decoded.

Important

Why only a method to re-encode the data instead of maintaining legacy methods for both encoding and decoding? The algorithms in the Encrypt library have improved in CodeIgniter 2.x both for performance and security, and we do not wish to encourage continued use of the older methods. You can of course extend the Encryption library if you wish and replace the new methods with the old and retain seamless compatibility with CodeIgniter 1.x encrypted data, but this a decision that a developer should make cautiously and deliberately, if at all.

$new_data = $this->encrypt->encode_from_legacy($old_encrypted_string);
Parameter Default Description
$orig_data n/a The original encrypted data from CodeIgniter 1.x’s Encryption library
$legacy_mode MCRYPT_MODE_ECB The Mcrypt mode that was used to generate the original encrypted data. CodeIgniter 1.x’s default was MCRYPT_MODE_ECB, and it will assume that to be the case unless overridden by this parameter.
$key n/a The encryption key. This it typically specified in your config file as outlined above.
doc_CodeIgniter
2016-10-15 16:31:31
Comments
Leave a Comment

Please login to continue.