Code Duplication    Length = 35-36 lines in 2 locations

Core/Helpers/Utils.php 2 locations

@@ 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