pshken / phpseclib-bundle
PHP安全通信库 - RSA、AES、SSH2、SFTP、X.509等纯PHP实现的库。由Jim Wigginton创建,并修改为Symfony2 Bundle。
dev-master
2015-05-26 03:34 UTC
Requires
- php: >=5.3.0
This package is not auto-updated.
Last update: 2021-10-19 18:18:27 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下载该扩展包
$ php composer.phar update sinner/phpseclib-bundle
或
$ composer update sinner/phpseclib-bundle
Composer会将该扩展包安装到您的项目的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); //... } }