兼容 mcrypt_encrypt
及 openssl_encrypt
The preferred way to install this extension is through composer.
Either run
php composer.phar require --prefer-dist bestyii/yii2-encrypter "*"
or add
"bestyii/yii2-encrypter": "*"
to the require section of your composer.json
file.
配置文件中加入
return [
//...
'components' => [
//...
'encrypter' => [
'class' => 'bestyii\encrypter\Encrypter',
'key' => '32bit string',
'iv' => '32bit string',
],
],
];
You can now use the encrypter manually in any part of the application to either encrypt a string
\Yii::$app->encrypter->encrypt('string to encrypt');
or decrypt and encrypted string
\Yii::$app->encrypter->decrypt('string to decrypt');
The extension also comes with a behavior that you can easily attach to any ActiveRecord Model.
Use the following syntax to attach the behavior.
public function behaviors()
{
return [
'encryption' => [
'class' => '\bestyii\encrypter\EncrypterBehavior',
'attributes' => [
'attributeName',
'otherAttributeName',
],
],
];
}
The behavior will automatically encrypt all the data before saving it on the database and decrypt it after the retrieve.
Keep in mind that the behavior will use the current configuration of the extension for the encryption.