1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60:
<?php
namespace AffiliconApiClient\Traits;
use AffiliconApiClient\Client;
use AffiliconApiClient\Exceptions\ConfigurationInvalid;
trait HasEncryption
{
protected $cryptMethod;
protected $cryptKey;
protected $client;
protected function init()
{
$this->cryptKey = $this->client->getSecretKey();
$cryptMethod = $this->client->config()->get('security.crypt_method');
if (!is_string($cryptMethod)) {
throw new ConfigurationInvalid('Crypt method must be a string.');
}
$this->cryptMethod = $this->client->config()->get('security.crypt_method');
}
protected function encrypt($data)
{
$this->init();
return urlencode(openssl_encrypt($data, $this->cryptMethod, $this->cryptKey));
}
protected function decrypt($data)
{
$this->init();
return urlencode(openssl_decrypt($data, $this->cryptMethod, $this->cryptKey));
}
}