/** * decrypt * * decrypts the key * * @param string $str The data that contains the key data * @param string $keyType The type of the key to encrypt * * @return array Returns decrypted array **/ public function decrypt($str, $keyType = 'KEY') { $str = urldecode($str); $randAddOn = substr($str, 0, 3); $hex = substr($str, 3); // get the key $key = $randAddOn . $this->get_key($keyType); if (!class_exists('PHPSecLib\\Crypt_Rijndael', false)) { import('phpseclib/Crypt/Rijndael', 'vendor'); } $rijndael = new \PHPSecLib\Crypt_Rijndael(); $rijndael->setKey($key); $mm = base64_decode(str_replace(PHP_EOL, '', $hex)); $tt = $rijndael->decrypt($mm); return $out = @unserialize($tt); }
/** * Encrypt lic_key * @return type urlencode(base64(rijandel)) */ private function __get_decoded_key() { if (!class_exists('PHPSecLib\\Crypt_Rijndael', false)) { import('phpseclib/Crypt/Rijndael', 'vendor'); } $rijndael = new \PHPSecLib\Crypt_Rijndael(); $rijndael->setKey(self::NOCLAYER_PUBLIC_KEY); return urlencode(base64_encode($rijndael->encrypt($this->_lic->getKey()))); }