Esempio n. 1
0
 public function getValue(PrivateKey $privateKey = null)
 {
     $value = $this->value;
     if (!$privateKey) {
         return $value;
     }
     $chunkSize = $privateKey->getKeySize() / 8;
     $chunkCount = intval(ceil(strlen($value) / $chunkSize));
     $plainText = '';
     for ($i = 0; $i < $chunkCount; $i++) {
         $chunkData = substr($value, $i * $chunkSize, $chunkSize);
         $plainText .= $privateKey->decrypt($chunkData);
     }
     if (empty($plainText)) {
         throw new \Exception(sprintf("Error decrypting text - OpenSSL Error string '%s'", openssl_error_string()));
     }
     return $plainText;
 }