一个rsa SDK。

dev-master 2020-11-17 10:25 UTC

This package is auto-updated.

Last update: 2024-09-17 19:27:17 UTC


README

rsa数据加解密,生成签名,验证签名

安装

$ composer require tanren1234/rsa:dev-master -vvv

用法

生成公私钥

  • 如果出现以下错误,则需要设置config路径

警告:openssl_pkey_export(): 无法从参数1获取密钥

require __DIR__ .'/vendor/autoload.php';
use Rsa\GenerateSecretKey;
$client = new GenerateSecretKey();
$client->setOpensslPath('D:\phpstudy_pro\Extensions\php\php7.3.4nts\extras\ssl\openssl.cnf');
var_dump($client->generate());

数据加解密

require __DIR__ .'/vendor/autoload.php';
use Rsa\RsaClient;

// 生成的私钥
$privatePEMKey="xxxxx";

// 生成的公钥
$publicPEMKey = "xxxxx";

// 需要加密的字符串
$str ="213232";

$rsa = new RsaClient();
$rsa->rsaPublicKey =$publicPEMKey;
$rsa->rsaPrivateKey = $privatePEMKey;
$encrypted = $rsa->publicEncryptRsa($str);
var_dump($encrypted); // 加密数据
$decrypted = $rsa->privateDecryptRsa($encrypted);
var_dump($decrypted); // 解密后的数据

备注

加解密均采用分段的方式,数据量过大必须使用分段

  • 生成公私钥的字节为2048,要加密的最大字符数(字节)=2048/8-11(使用填充时)=245个字符
  • 生成公私钥的字节为2048,要解密的最大字符数(字节)=2048/8(使用填充时)=256个字符

新增java版解密,java目录

golang版加解密,go目录

贡献

您可以通过以下三种方式之一进行贡献:

  1. 使用问题跟踪器提交错误报告。
  2. 问题跟踪器上回答问题或修复错误。
  3. 贡献新功能或更新wiki。

代码贡献过程并不非常正式。您只需确保遵循PSR-0、PSR-1和PSR-2编码规范。任何新的代码贡献都必须附带相应的单元测试(如果适用)。

许可

MIT