簡體   English   中英

將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) 

... /應用/庫/ 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';
}

我知道有一個phpseclib包: https ://packagist.org/packages/phpseclib/phpseclib

我也知道如何在我的L5項目中安裝它。

但是,我安裝后,我不知道如何在我的Laravel 5項目中使用phpseclib軟件包。

因此,在我的L5項目中安裝了phpseclib軟件包之后,如何創建類似於此的SSH密鑰:

$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

PHPSec確實使用了作曲家,你應該能夠讓composer require "phpseclib/phpseclib=~0.3.10"並讓它可用(自動加載)。

$rsa = new \Crypt_RSA();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM