psamatt / mcrypt-service-provider
用于Silex环境中对mcrypt库的简单封装
1.0.2
2013-09-02 20:14 UTC
Requires
- php: >=5.3.2
- ext-mcrypt: *
- silex/silex: 1.*
Requires (Dev)
- phpunit/phpunit: 3.7.*
This package is not auto-updated.
Last update: 2024-09-23 15:10:24 UTC
README
一个用于Silex的PHP Mcrypt 库的简单封装
使用方法
注册服务提供程序并指定您的唯一密钥。
$app->register(new Psamatt\Silex\Provider\McryptServiceProvider('unique_key', array( 'cipher' => MCRYPT_RIJNDAEL_256, // optional 'mode' => MCRYPT_MODE_CBC, // optional 'iv_source' => MCRYPT_DEV_RANDOM, // optional 'base64' => true|false, // optional. Default is true 'auto_generate_iv' => true|false, // option. Default is false )));
请注意,如果您将 auto_generate_iv 设置为 false,则必须显式生成IV,您可以通过以下方式完成此操作:
$app['mcrypt']->generateIv();
在您的Silex应用程序中,您可以使用以下行使用Mcrypt提供程序:
$data = 'my string'; $encryptedKey = $app['mcrypt']->encrypt($data); print $app['mcrypt']->decrypt($encryptedKey); // prints 'my string'
如果您想在Twig模板中使用mcrypt,可以使用以下任一过滤器: mcrypt_encrypt 或 mcrypt_decrypt
{{ object.method | mcrypt_encrypt }} // encrypt
{{ object.method | mcrypt_decrypt }} // decrypt
* 确保在您的Twig Service Provider之后定义 McryptServiceProvider 以利用Twig功能
其他有用信息
如果您需要解密使用mcrypt加密的字符串,并且不使用MCRYPT_MODE_ECB (推荐),则必须在加密字符串之前使用 $app['mcrypt']->getIv() 获取IV并安全存储,然后当您准备解密时,必须使用 $app['mcrypt']->setIv($my_iv) 设置相同的IV,请参阅单元测试 获取进一步说明。
Mcrypt 文档
有关Mcrypt应使用哪些值的更多信息,请查看特定类型的文档
默认情况下,加密字符串将使用base64编码和解码,要为您的应用程序设置此选项,请将base64选项设置为 true 或 false。