PHP code example of seffeng / laravel-rsa

1. Go to this page and download the library: Download seffeng/laravel-rsa library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

seffeng / laravel-rsa example snippets


# 1、生成配置文件
$ php artisan vendor:publish --tag="rsa"

# 2、生成key文件,多个客户端时可以指定client,对应配置文件中 clients 的配置,如:
# php artisan rsa:generate default
$ php artisan rsa:generate

# 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


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());
        }
    }
}