h3r*_*3rx 3 php laravel phpseclib
我目前正将我的项目从Laravel 4迁移到Laravel 5,我仍然是Laravel和OOP的新手用户,但到目前为止一切顺利.
但是,在我的L4项目中,我使用phpseclib生成SSH密钥,我通过以下方式导入:
MyController.php
...
include('../app/libs/phpseclib0.3.10/Crypt/RSA.php');
$rsa = new Crypt_RSA();
...
Run Code Online (Sandbox Code Playgroud)
这似乎不再起作用了:
syntax error, unexpected 'if' (T_IF), expecting identifier (T_STRING)
Run Code Online (Sandbox Code Playgroud)
... /应用/库/ phpseclib0.3.10 /地穴/ 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';
}
Run Code Online (Sandbox Code Playgroud)
我知道有一个phpseclib包:https://packagist.org/packages/phpseclib/phpseclib
我也知道如何在我的L5项目中安装它.
但是,我安装后,我不知道如何在我的Laravel 5项目中使用phpseclib软件包.
因此,在我的L5项目中安装了phpseclib软件包之后,如何创建类似于此的SSH密钥:
$rsa = new Crypt_RSA();
Run Code Online (Sandbox Code Playgroud)
重做这个其他答案,并查看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";
Run Code Online (Sandbox Code Playgroud)
至少,它适用于phpseclib版本^ 2.0
PHPSec确实使用了作曲家,你应该能够composer require "phpseclib/phpseclib=~0.3.10"使用它(自动加载).
$rsa = new \Crypt_RSA();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5561 次 |
| 最近记录: |