Интеграция phpseclib в Laravel 5

В настоящее время я переношу свой проект с Laravel 4 на Laravel 5, но я все еще новичок в Laravel и OOP, но до сих пор все прошло гладко.

Однако в моем проекте L4 я использую phpseclib для генерации ключей SSH, которые я импортировал следующим образом:

MyController.php

... include('../app/libs/phpseclib0.3.10/Crypt/RSA.php'); $rsa = new Crypt_RSA(); ... 

который, кажется, больше не работает:

 syntax error, unexpected 'if' (T_IF), expecting identifier (T_STRING) 

… / приложение / ЛИЭС / phpseclib0.3.10 / Crypt / RSA.php

 /** * Include Crypt_Random */ // the class_exists() will only be called if the crypt_random_string function hasn't been defined and // will trigger a call to __autoload() if you're wanting to auto-load classes // call function_exists() a second time to stop the include_once from being called outside // of the auto loader if (!function_exists('crypt_random_string')) { include_once 'Random.php'; } 

Я знаю, что есть пакет phpseclib: https://packagist.org/packages/phpseclib/phpseclib

и я также знаю, как установить его в моем проекте L5.

Тем не менее, я не знаю, как использовать пакет phpseclib в моем проекте Laravel 5 после того, как я его установил.

Итак, после того, как я установил пакет phpseclib в свой проект L5, как создать свой SSH-ключ, похожий на это:

 $rsa = new Crypt_RSA(); 

PHPSec использует композитор, вы должны иметь возможность просто composer require "phpseclib/phpseclib=~0.3.10" и иметь его доступным (автозагрузка).

 $rsa = new \Crypt_RSA(); 

Переработав этот другой ответ и заглянув в папку vendor / phpseclib /, мне удалось заставить его работать с этим синтаксисом:

 use phpseclib\Crypt\RSA; ... ... $rsa = new RSA(); $rsa->setPublicKeyFormat(RSA::PUBLIC_FORMAT_OPENSSH); extract($rsa->createKey()); echo "$publickey\r\n\r\n$privatekey"; 

По крайней мере, он работает на версии phpseclib ^ 2.0