Exemplo n.º 1
0
 /**
  * Method to encrypt a data string.
  *
  * @param   string  $data  The data string to encrypt.
  * @param   Key     $key   The key object to use for encryption.
  *
  * @return  string  The encrypted data string.
  *
  * @since   1.3.0
  * @throws  \InvalidArgumentException
  * @throws  \RuntimeException
  */
 public function encrypt($data, Key $key)
 {
     // Validate key.
     if ($key->getType() != 'crypto') {
         throw new \InvalidArgumentException('Invalid key of type: ' . $key->getType() . '.  Expected crypto.');
     }
     // Encrypt the data.
     try {
         return DefuseCrypto::encrypt($data, DefuseKey::loadFromAsciiSafeString($key->getPrivate()));
     } catch (EnvironmentIsBrokenException $ex) {
         throw new \RuntimeException('Cannot safely perform encryption', $ex->getCode(), $ex);
     }
 }
Exemplo n.º 2
0
 /**
  * Method to encrypt a data string.
  *
  * @param   string  $data  The data string to encrypt.
  * @param   Key     $key   The key object to use for encryption.
  *
  * @return  string  The encrypted data string.
  *
  * @since   3.5
  * @throws  RuntimeException
  */
 public function encrypt($data, Key $key)
 {
     // Validate key.
     if ($key->getType() != 'crypto') {
         throw new InvalidArgumentException('Invalid key of type: ' . $key->getType() . '.  Expected crypto.');
     }
     // Encrypt the data.
     try {
         return Crypto::Encrypt($data, $key->getPublic());
     } catch (CryptoTestFailedException $ex) {
         throw new RuntimeException('Cannot safely perform encryption', $ex->getCode(), $ex);
     } catch (CannotPerformOperationException $ex) {
         throw new RuntimeException('Cannot safely perform encryption', $ex->getCode(), $ex);
     }
 }