Ejemplo n.º 1
0
 /**
  * {@inheritdoc}
  */
 function decrypt($text)
 {
     // Get settings.
     $settings = $this->config->get('encrypt.settings');
     // Load the key.
     $key = $this->key->getKey($settings->get('encryption_key'));
     // Load the encryption method.
     $enc_method = $this->manager->createInstance($settings->get('encryption_method'));
     // Return the encrypted string.
     return $enc_method->decrypt($text, $key->getKeyValue());
 }
Ejemplo n.º 2
0
 /**
  * Get the used encryption key.
  *
  * @param string $text
  *   The text to encrypt / decrypt.
  * @param \Drupal\encrypt\Entity\EncryptionProfile $encryption_profile
  *   The encryption profile to use.
  *
  * @return string
  *   The encryption key value.
  *
  * @throws \Drupal\encrypt\Exception\EncryptException
  *   Can throw an EncryptException.
  */
 protected function getEncryptionKeyValue($text, EncryptionProfile $encryption_profile)
 {
     // Load the encryption method.
     $enc_method = $encryption_profile->getEncryptionMethod();
     $this->encryptionMethod = $this->encryptManager->createInstance($enc_method);
     // Load the encryption key.
     $key_value = $this->loadEncryptionProfileKey($encryption_profile);
     // Check for missing dependencies.
     $errors = $this->encryptionMethod->checkDependencies($text, $key_value);
     if (!empty($errors)) {
         // Throw an exception with the errors from the encryption method.
         throw new EncryptException(implode('; ', $errors));
     } else {
         return $key_value;
     }
 }
Ejemplo n.º 3
0
 /**
  * Loads an encryption profile method.
  * @param \Drupal\encrypt\Entity\EncryptionProfile $enc_profile
  */
 private function loadEncryptionMethod($enc_profile)
 {
     // Load the encryption method.
     $enc_method = $enc_profile->getEncryptionMethod();
     return $this->encryptManager->createInstance($enc_method);
 }