Exemplo n.º 1
0
 /**
  * Unregisters an encryption module
  *
  * @param IEncryptionModule $module
  */
 public function unregisterEncryptionModule(IEncryptionModule $module)
 {
     unset($this->encryptionModules[$module->getId()]);
 }
Exemplo n.º 2
0
 /**
  * create header for encrypted file
  *
  * @param array $headerData
  * @param IEncryptionModule $encryptionModule
  * @return string
  * @throws EncryptionHeaderToLargeException if header has to many arguments
  * @throws EncryptionHeaderKeyExistsException if header key is already in use
  */
 public function createHeader(array $headerData, IEncryptionModule $encryptionModule)
 {
     $header = self::HEADER_START . ':' . self::HEADER_ENCRYPTION_MODULE_KEY . ':' . $encryptionModule->getId() . ':';
     foreach ($headerData as $key => $value) {
         if (in_array($key, $this->ocHeaderKeys)) {
             throw new EncryptionHeaderKeyExistsException($key);
         }
         $header .= $key . ':' . $value . ':';
     }
     $header .= self::HEADER_END;
     if (strlen($header) > $this->getHeaderSize()) {
         throw new EncryptionHeaderToLargeException();
     }
     $paddedHeader = str_pad($header, $this->headerSize, self::HEADER_PADDING_CHAR, STR_PAD_RIGHT);
     return $paddedHeader;
 }