Encrypt Service
The encrypt service provides two-way data encryption as well as signing and verification of signatures. The most common use is to encrypt parameters sent with form data.
Simple Examples
Encrypting some data:
$meta = array(
  'site_id' => 1,
  'entry_id' => 12,
  'author_id' => 23
  );
$var['meta'] = ee('Encrypt')->encrypt(serialize($meta));Decrypting the same data:
$meta = ee('Encrypt')->decrypt($_POST['meta']);
$meta = unserialize($meta); Note: Use encode() and decode() if you’d like the data automatically base64 encoded.
To sign data:
$signed = ee('Encrypt')->sign($data);To verify the data hasn’t changed:
$safe = ee('Encrypt')->verifySignature($data, $signed);
		Encrypt Methods
class ExpressionEngine\Service\Encrypt\Encrypt
		
		encrypt($string, $key = '')
		
Takes a plain-text string and key and encrypts it
| Parameter | Type | Description | 
|---|---|---|
| $string | String | 
The plaintext string | 
| $key | String | 
The encryption key, if not defined we’ll use a default key | 
| Returns | String | 
The encrypted string on success or FALSE on failure | 
		
		decrypt($data, $key = '')
		
Takes an encrypted string and key and decrypts it.
| Parameter | Type | Description | 
|---|---|---|
| $string | String | 
The encrypted string | 
| $key | String | 
The encryption key, if not defined we’ll use a default key | 
| Returns | String | 
The decrypted string on success or FALSE on failure | 
		
		encode($string, $key = '')
		
Encodes the string with the set encryption driver and then base64 encodes that.
| Parameter | Type | Description | 
|---|---|---|
| $string | String | 
The plaintext string | 
| $key | String | 
The encryption key, if not defined we’ll use a default key | 
| Returns | String | 
A base64 encoded encrypted string | 
		
		decode($data, $key = '')
		
Decodes an encoded string by first base64 decodeing it, then passing the string off to the driver for its decoding process.
| Parameter | Type | Description | 
|---|---|---|
| $string | String | 
A base64 encoded encrypted string | 
| $key | String | 
The encryption key, if not defined we’ll use a default key | 
| Returns | String | 
The plaintext string | 
		
		sign($data, $key = NULL, $algo = 'md5')
		
Creates a signed hash value using hash_hmac()
| Parameter | Type | Description | 
|---|---|---|
| $data | String | 
Content to hash | 
| $key | String | 
The secret key, if not defined we’ll use a default key | 
| $algo | String | 
Hashing algorithm, defaults to md5 | 
| Returns | String | 
String consisting of the calculated message digest as lowercase hexits | 
		
		verifySignature($data, $signed_data, $key = NULL, $algo = 'md5')
		
Verify the signed data hash
| Parameter | Type | Description | 
|---|---|---|
| $data | String | 
Current content | 
| $signed_data | String | 
Hashed content to compare to | 
| $key | String | 
The secret key, if not defined we’ll use a default key | 
| $algo | String | 
Hashing algorithm, defaults to md5 | 
| Returns | Bool | 
TRUE if the signed data is verified, FALSE if not, NULL if there is no |