public function setValue(PublicKey $publicKey, $value) { $chunkSize = $publicKey->getKeySize() / 8 - KeyPair::RSA_HEADER_LENGTH; $chunkCount = intval(ceil(strlen($value) / $chunkSize)); $cipherText = ''; for ($i = 0; $i < $chunkCount; $i++) { $chunkData = substr($value, $i * $chunkSize, $chunkSize); $cipherText .= $publicKey->encrypt($chunkData); } if (empty($cipherText)) { throw new \Exception("Error encrypting plain text"); } $this->value = $cipherText; }
public function setPublicKey(PublicKey $publicKey = null) { if ($publicKey) { $this->public_key = $publicKey->getKey(); } }