seffeng / laravel-rsa
PHP laravel extension rsa
Installs: 6 420
Dependents: 0
Suggesters: 0
Security: 0
Stars: 6
Watchers: 2
Forks: 1
Open Issues: 0
Requires
- php: >=7.1.3
- seffeng/cryptlib: >=0.1
README
安装
# 安装
$ composer require seffeng/laravel-rsa
Laravel
# 1、生成配置文件 $ php artisan vendor:publish --tag="rsa" # 2、生成key文件,多个客户端时可以指定client,对应配置文件中 clients 的配置,如: # php artisan rsa:generate default $ php artisan rsa:generate
lumen
# 1、将以下代码段添加到 /bootstrap/app.php 文件中的 Providers 部分 $app->register(Seffeng\LaravelRSA\RSAServiceProvider::class); # 2、生成key文件,多个客户端时可以指定client,对应配置文件中 clients 的配置,如: # php artisan rsa:generate other-client $ php artisan rsa:generate
# 服务端 # /storage 目录下对应 public key 提供给客户端用于加密和签名; # 使用 private key 解密、验证签名; # 客户端 # 接收其他服务端提供的 public key 替换 /storage 目录下对应 public key 用于加密和签名; # 使用 public key 加密、签名
示例
use Seffeng\LaravelRSA\Facades\RSA; use Seffeng\LaravelRSA\Exceptions\RSAException; class SiteController extends Controller { public function test() { try { // 多个客户端使用其他配置时,对应配置文件中 clients 的配置 // RSA::loadClient('other-client'); $plaintext = '123456'; // 加密 $entext = RSA::encrypt($plaintext); // 解密 $detext = RSA::decrypt($entext); // 使用其他key // RSA::loadKey('-----BEGIN PUBLIC KEY-----......'); // RSA::loadKey('-----BEGIN PRIVATE KEY-----......'); $message = 'a=aaa&b=bbb&c=ccc'; // 签名 $sign = RSA::sign($message); // 签名验证 $verify = RSA::verify($message, $sign); var_dump(base64_encode($entext), $detext); var_dump(base64_encode($sign), $verify); } catch (RSAException $e) { var_dump($e->getMessage()); } catch (\Exception $e) { var_dump($e->getMessage()); } } }
项目依赖
备注
无