sinner / phpseclib-bundle
PHP安全通信库 - RSA、AES、SSH2、SFTP、X.509等纯PHP实现。由Jim Wigginton创建,并修改为Symfony2 Bundle。
dev-master
2016-10-03 15:25 UTC
Requires
- php: >=5.3.0
This package is not auto-updated.
Last update: 2024-09-22 03:22:29 UTC
README
PHP安全通信库 - RSA、AES、SSH2、SFTP、X.509等纯PHP实现。由Jim Wigginton创建,并修改为Symfony2 Bundle。
MIT授权的纯PHP实现,包括任意精度整数算术库、完全符合PKCS#1 (v2.1)规范的RSA、DES、3DES、RC4、Rijndael、AES、SSH-1、SSH-2、SFTP和X.509。
步骤1:使用composer下载phpseclib-bundle
在composer.json中添加FOSUserBundle
{ "require": { ... "sinner/phpseclib-bundle": "dev-master" ... } }
现在运行以下命令告诉composer下载bundle:
$ php composer.phar update sinner/phpseclib-bundle
或者
$ composer update sinner/phpseclib-bundle
Composer会将bundle安装到项目的vendor/sinner
目录。
步骤2:在您的Symfony2项目中激活PHPSecLibBundle
编辑appKernel.php文件中的$bundles数组区域
//"app/appKernel.php" ... $bundles = array( ... new Sinner\Phpseclib\PhpseclibBundle(); ... ); ...
步骤3:加密、解密并享受
假设您有一个用户实体...
/** * Entity/Usuario.php * */ class Usuario { public $id; public $nombre; public $apellido; public $email; public $twitter; }
...并且您想在控制器中以加密方式(例如在会话中)保存用户数据
/** * Controller/DefaultController.php * */ use Sinner\Phpseclib\Crypt\Crypt_TripleDES as TripleDES; Class DefaultController extends Controller{ public fucntion indexAction(){ //... $usuario_obj = new Usuario(); $usuario_obj->id = 1; $usuario_obj->nombre = 'José Gabriel'; $usuario_obj->apellido = 'González Pérez'; $usuario_obj->email = 'jgabrielsinner10@gmail.com'; $usuario_obj->twitter = '@JGabrielTupac'; const KEY_ENCRYPT = '548c286a61462d896573567b7a30335d4959427e5c7a675e325b6c7a7c'; $_KEY_ENCRYPT = KEY_ENCRYPT; $encrypter = new TripleDES(); $encrypter->setKey($_KEY_ENCRYPT); $usuario_obj_encrypt = $encrypter->encrypt(serialize($usuario_obj)); $usuario = unserialize($encrypter->decrypt($usuario_obj_encrypt)); var_dump($usuario_obj_encrypt); var_dump($usuario); //... } }