Symfony Crypt Bundle(use openssl)
Open a command console, enter your project directory and execute the following command to download the latest stable version of this bundle:
$ composer require kitlabs/kit-crypt-bundle
This command requires you to have Composer installed globally, as explained in the installation chapter of the Composer documentation.
Then, enable the bundle by adding it to the list of registered bundles
in the app/AppKernel.php
file of your project:
<?php
// app/AppKernel.php
// ...
class AppKernel extends Kernel
{
public function registerBundles()
{
$bundles = array(
// ...
new Kit\CryptBundle\KitCryptBundle(),
);
// ...
}
// ...
}
# app/config/config.yml
kit_crypt:
clients:
default:
method: 'aes-256-cbc'
secret_key: 'Kit@Crypt!Bundle'
secret_iv: '12345!@#$%^67890' #16 bit
option: 0 # 0默认值;OPENSSL_RAW_DATA = 1,采用PKCS7填充;OPENSSL_ZERO_PADDING = 2,采用0填充; OPENSSL_NO_PADDING = 3,不填充
data_api:# client name,可以是多个
method: 'des-cbc'
secret_key: 'Kit@Crypt!Bundle'
secret_iv: 'q1w2e3r4'
option: 1
PS:params
- method list openssl cipher methods
- secret_iv iv encrypt method AES-256-CBC expects 16 bytes - else you will get a warning
/**
*
* @var \Kit\CryptBundle\Service\OpensslService $opensslService
*/
$opensslService = $this->get('kit_crypt.openssl');
$encrypt = $opensslService->encrypt('lcp0578', 'data_api'); //public function encrypt($string, $name = 'default', $iv = null)
dump($encrypt);
dump($opensslService->decrypt($encrypt, 'data_api')); //public function decrypt($string, $name = 'default', $iv = null)
function cryptoJsAesDecrypt($passphrase, $ct, $iv, $s)
function cryptoJsAesEncrypt($passphrase, $value)