AgileEncryption
in package
FinalYes
ECMA-376 Agile Encryption (AES-256/SHA-512 profile).
Table of Contents
Constants
- MAX_SPIN_COUNT = 10000000
Methods
- decrypt() : string
- decryptFile() : void
- encrypt() : array{encryptionInfo: string, encryptedPackage: string}
- Create the EncryptionInfo and EncryptedPackage streams for an Agile-encrypted XLSX.
- encryptFile() : array{encryptionInfo: string, encryptedPackageFilename: string}
- Encrypt a ZIP package without loading either package into memory.
- parse() : array{keyDataSalt: string, passwordSalt: string, encryptedVerifier: string, encryptedVerifierHash: string, encryptedKey: string, encryptedHmacKey: string, encryptedHmacValue: string, spinCount: int, keyBits: int, hashAlgorithm: string, hashSize: int}
- writeContainerFromFile() : void
- Write an Office encrypted package CFB container using a file-backed EncryptedPackage stream.
Constants
MAX_SPIN_COUNT
public
mixed
MAX_SPIN_COUNT
= 10000000
Methods
decrypt()
public
static decrypt(array{keyDataSalt: string, passwordSalt: string, encryptedVerifier: string, encryptedVerifierHash: string, encryptedKey: string, encryptedHmacKey: string, encryptedHmacValue: string, spinCount: int, keyBits: int, hashAlgorithm: string, hashSize: int} $info, string $encryptedPackage, string $password) : string
Parameters
- $info : array{keyDataSalt: string, passwordSalt: string, encryptedVerifier: string, encryptedVerifierHash: string, encryptedKey: string, encryptedHmacKey: string, encryptedHmacValue: string, spinCount: int, keyBits: int, hashAlgorithm: string, hashSize: int}
- $encryptedPackage : string
- $password : string
Return values
stringdecryptFile()
public
static decryptFile(array{keyDataSalt: string, passwordSalt: string, encryptedVerifier: string, encryptedVerifierHash: string, encryptedKey: string, encryptedHmacKey: string, encryptedHmacValue: string, spinCount: int, keyBits: int, hashAlgorithm: string, hashSize: int} $info, string $inputFilename, string $outputFilename, string $password) : void
Parameters
- $info : array{keyDataSalt: string, passwordSalt: string, encryptedVerifier: string, encryptedVerifierHash: string, encryptedKey: string, encryptedHmacKey: string, encryptedHmacValue: string, spinCount: int, keyBits: int, hashAlgorithm: string, hashSize: int}
- $inputFilename : string
- $outputFilename : string
- $password : string
encrypt()
Create the EncryptionInfo and EncryptedPackage streams for an Agile-encrypted XLSX.
public
static encrypt(string $plainPackage, string $password[, int $keyBits = 256 ][, string $hashAlgorithm = 'SHA512' ][, int $spinCount = 100000 ]) : array{encryptionInfo: string, encryptedPackage: string}
Parameters
- $plainPackage : string
- $password : string
- $keyBits : int = 256
- $hashAlgorithm : string = 'SHA512'
- $spinCount : int = 100000
Return values
array{encryptionInfo: string, encryptedPackage: string}encryptFile()
Encrypt a ZIP package without loading either package into memory.
public
static encryptFile(string $plainPackageFilename, string $password[, int $keyBits = 256 ][, string $hashAlgorithm = 'SHA512' ][, int $spinCount = 100000 ]) : array{encryptionInfo: string, encryptedPackageFilename: string}
Parameters
- $plainPackageFilename : string
- $password : string
- $keyBits : int = 256
- $hashAlgorithm : string = 'SHA512'
- $spinCount : int = 100000
Return values
array{encryptionInfo: string, encryptedPackageFilename: string}parse()
public
static parse(string $encryptionInfo[, int $maxSpinCount = self::MAX_SPIN_COUNT ]) : array{keyDataSalt: string, passwordSalt: string, encryptedVerifier: string, encryptedVerifierHash: string, encryptedKey: string, encryptedHmacKey: string, encryptedHmacValue: string, spinCount: int, keyBits: int, hashAlgorithm: string, hashSize: int}
Parameters
- $encryptionInfo : string
- $maxSpinCount : int = self::MAX_SPIN_COUNT
Return values
array{keyDataSalt: string, passwordSalt: string, encryptedVerifier: string, encryptedVerifierHash: string, encryptedKey: string, encryptedHmacKey: string, encryptedHmacValue: string, spinCount: int, keyBits: int, hashAlgorithm: string, hashSize: int}writeContainerFromFile()
Write an Office encrypted package CFB container using a file-backed EncryptedPackage stream.
public
static writeContainerFromFile(resource $fileHandle, string $encryptionInfo, string $encryptedPackageFilename) : void
Parameters
- $fileHandle : resource
- $encryptionInfo : string
- $encryptedPackageFilename : string