| @@ 128-162 (lines=35) @@ | ||
| 125 | * |
|
| 126 | * @return mixed |
|
| 127 | */ |
|
| 128 | public static function encrypt($data, $key, $iv, $settings = []) |
|
| 129 | { |
|
| 130 | if ($data === '' || !extension_loaded('mcrypt')) { |
|
| 131 | return $data; |
|
| 132 | } |
|
| 133 | ||
| 134 | //Merge settings with defaults |
|
| 135 | $defaults = [ |
|
| 136 | 'algorithm' => MCRYPT_RIJNDAEL_256, |
|
| 137 | 'mode' => MCRYPT_MODE_CBC, |
|
| 138 | ]; |
|
| 139 | $settings = array_merge($defaults, $settings); |
|
| 140 | ||
| 141 | //Get module |
|
| 142 | $module = mcrypt_module_open($settings['algorithm'], '', $settings['mode'], ''); |
|
| 143 | ||
| 144 | //Validate IV |
|
| 145 | $ivSize = mcrypt_enc_get_iv_size($module); |
|
| 146 | if (strlen($iv) > $ivSize) { |
|
| 147 | $iv = substr($iv, 0, $ivSize); |
|
| 148 | } |
|
| 149 | ||
| 150 | //Validate key |
|
| 151 | $keySize = mcrypt_enc_get_key_size($module); |
|
| 152 | if (strlen($key) > $keySize) { |
|
| 153 | $key = substr($key, 0, $keySize); |
|
| 154 | } |
|
| 155 | ||
| 156 | //Encrypt value |
|
| 157 | mcrypt_generic_init($module, $key, $iv); |
|
| 158 | $res = @mcrypt_generic($module, $data); |
|
| 159 | mcrypt_generic_deinit($module); |
|
| 160 | ||
| 161 | return $res; |
|
| 162 | } |
|
| 163 | ||
| 164 | public static function setDebug($exceptionCode) |
|
| 165 | { |
|
| @@ 215-250 (lines=36) @@ | ||
| 212 | * |
|
| 213 | * @return mixed |
|
| 214 | */ |
|
| 215 | public static function decrypt($data, $key, $iv, $settings = []) |
|
| 216 | { |
|
| 217 | if ($data === '' || !extension_loaded('mcrypt')) { |
|
| 218 | return $data; |
|
| 219 | } |
|
| 220 | ||
| 221 | //Merge settings with defaults |
|
| 222 | $defaults = [ |
|
| 223 | 'algorithm' => MCRYPT_RIJNDAEL_256, |
|
| 224 | 'mode' => MCRYPT_MODE_CBC, |
|
| 225 | ]; |
|
| 226 | $settings = array_merge($defaults, $settings); |
|
| 227 | ||
| 228 | //Get module |
|
| 229 | $module = mcrypt_module_open($settings['algorithm'], '', $settings['mode'], ''); |
|
| 230 | ||
| 231 | //Validate IV |
|
| 232 | $ivSize = mcrypt_enc_get_iv_size($module); |
|
| 233 | if (strlen($iv) > $ivSize) { |
|
| 234 | $iv = substr($iv, 0, $ivSize); |
|
| 235 | } |
|
| 236 | ||
| 237 | //Validate key |
|
| 238 | $keySize = mcrypt_enc_get_key_size($module); |
|
| 239 | if (strlen($key) > $keySize) { |
|
| 240 | $key = substr($key, 0, $keySize); |
|
| 241 | } |
|
| 242 | ||
| 243 | //Decrypt value |
|
| 244 | mcrypt_generic_init($module, $key, $iv); |
|
| 245 | $decryptedData = @mdecrypt_generic($module, $data); |
|
| 246 | $res = rtrim($decryptedData, "\0"); |
|
| 247 | mcrypt_generic_deinit($module); |
|
| 248 | ||
| 249 | return $res; |
|
| 250 | } |
|
| 251 | ||
| 252 | /** |
|
| 253 | * @param $expires |
|