/** * Returns decrypted input parameter * @param $key * @return String */ public function get($key) { if (isset($this->decryptedParams[$key])) { return $this->decryptedParams[$key]; } $value = $this->crypt->symmetricDecrypt(Base64::UrlDecode($this->params[$key])); $this->decryptedParams[$key] = $value; return $value; }
/** * @param $route * @param $request * @param $response */ public function filter($route, $request, $response) { $content = $response->getOriginalContent(); if (!is_string($content)) { $content = json_encode($content); } $content = Base64::UrlEncode($this->crypt->symmetricEncrypt($content)); $sign = Base64::UrlEncode($this->crypt->sign($content)); $response->setContent(['data' => $content, 'sign' => $sign]); }
/** * Encrypts data using RSA * @param String $data Data to encrypt * @return String */ public function asymmetricEncrypt($data) { if (!$this->isRsaInitialized) { $this->initAsymmetric(); } return Base64::UrlEncode($this->rsa->encrypt($data)); }