RobRichards\XMLSecLibs\XMLSecurityKey::encryptMcrypt PHP Method

encryptMcrypt() private method

Encrypts the given data (string) using the mcrypt-extension
private encryptMcrypt ( string $data ) : string
$data string
return string
    private function encryptMcrypt($data)
    {
        $td = mcrypt_module_open($this->cryptParams['cipher'], '', $this->cryptParams['mode'], '');
        $this->iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_RAND);
        mcrypt_generic_init($td, $this->key, $this->iv);
        if ($this->cryptParams['mode'] == MCRYPT_MODE_CBC) {
            $bs = mcrypt_enc_get_block_size($td);
            for ($datalen0 = $datalen = strlen($data); $datalen % $bs != $bs - 1; $datalen++) {
                $data .= chr(mt_rand(1, 127));
            }
            $data .= chr($datalen - $datalen0 + 1);
        }
        $encrypted_data = $this->iv . mcrypt_generic($td, $data);
        mcrypt_generic_deinit($td);
        mcrypt_module_close($td);
        return $encrypted_data;
    }