xj/php-rsa

1.0.0 2015-07-17 09:37 UTC

This package is auto-updated.

Last update: 2024-10-10 19:46:47 UTC


README

composer.json

"require": {
    "xj/php-rsa": "*"
},

Rsa

openssl genrsa -out rsa_private_key.pem 2048
openssl rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem

example:

use xj\phprsa\RsaPrivate;
use xj\phprsa\RsaPublic;

        $privateKey = <<<EOF
-----BEGIN RSA PRIVATE KEY-----
......................................
-----END RSA PRIVATE KEY-----
EOF;
        $publicKey = <<<EOF
-----BEGIN PUBLIC KEY-----
......................................
-----END PUBLIC KEY-----
EOF;
        
        $str = 'abcdefg';
//private encrypt -> public decrypt
        $privateEncryptString = RsaPrivate::model($privateKey)->encrypt($str);
        $publicDecryptString = RsaPublic::model($publicKey)->decrypt($privateEncryptString);
        var_dump('private', $str, $privateEncryptString, $publicDecryptString);

//public encrypt -> private decrypt
        $publicEncryptString = RsaPublic::model($publicKey)->encrypt($str);
        $privateDecryptString = RsaPrivate::model($privateKey)->decrypt($publicEncryptString);
        var_dump('public', $str, $publicEncryptString, $privateDecryptString);