将 phpseclib 集成到 Laravel 5
Integrate phpseclib into 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)
.../app/libs/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 项目中安装它。
但是,安装后我不知道如何在我的 Laravel 5 项目中使用 phpseclib 包。
所以,在我的 L5 项目中安装 phpseclib 包后,如何创建我的 SSH 密钥类似于:
$rsa = new Crypt_RSA();
PHPSec 确实使用了 composer,您应该能够 composer require "phpseclib/phpseclib=~0.3.10"
并使其可用(自动加载)。
$rsa = new \Crypt_RSA();
重做 this other answer 并查看 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
我目前正在将我的项目从 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)
.../app/libs/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 项目中安装它。
但是,安装后我不知道如何在我的 Laravel 5 项目中使用 phpseclib 包。
所以,在我的 L5 项目中安装 phpseclib 包后,如何创建我的 SSH 密钥类似于:
$rsa = new Crypt_RSA();
PHPSec 确实使用了 composer,您应该能够 composer require "phpseclib/phpseclib=~0.3.10"
并使其可用(自动加载)。
$rsa = new \Crypt_RSA();
重做 this other answer 并查看 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