etics / phpseclib-bundle
PHP安全通信库 - RSA、AES、SSH2、SFTP、X.509等的纯PHP实现。由Jim Wigginton创建,并修改为Symfony2 Bundle。
dev-master
2016-03-02 12:03 UTC
Requires
- php: >=5.3.0
This package is not auto-updated.
Last update: 2024-09-20 19:45:25 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": { ... "etics/phpseclib-bundle": "dev-master" ... } }
现在运行以下命令告诉composer下载此Bundle
$ php composer.phar update etics/phpseclib-bundle
或者
$ composer update etics/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); //... } }