Skip to content

Latest commit

 

History

History
103 lines (63 loc) · 5.14 KB

File.md

File metadata and controls

103 lines (63 loc) · 5.14 KB

File

Namespace: \ParagonIE\Halite

Methods

checksum()

public static checksum($filepath, Key $key = null, $raw = false) : string

Calculates a BLAKE2b-512 hash of the given file.

  • $filepath - Path to a file (or an open file handle)
  • $key (optional, should be an AuthenticationKey or SignaturePublicKey)
  • $raw - Set to TRUE if you don't want a hexadecimal string returned

encrypt()

public static encrypt($input, $output, EncryptionKey $key): string

Encrypt the contents of $input (either a string containing the path to a file, or an open file handle), and store it in the file (handle?) at $output.

Both $input and $output can be a string, a resource, or an object whose class implements StreamInterface. In the object case, $input must be an instance of ReadOnlyFile and $output must be an instance of MutableFile.

decrypt()

public static decrypt($input, $output, EncryptionKey $key): string

Decrypt the contents of $input (either a string containing the path to a file, or an open file handle), and store it in the file (handle?) at $output.

Both $input and $output can be a string, a resource, or an object whose class implements StreamInterface. In the object case, $input must be an instance of ReadOnlyFile and $output must be an instance of MutableFile.

asymmetricDecrypt()

public static asymmetricDecrypt($input, $output, EncryptionSecretKey $recipientSK, EncryptionPublicKey $senderPK, string $aad = null): int

Decrypt the contents of $input (either a string containing the path to a file, or an open file handle), and store it in the file (handle?) at $output.

Both $input and $output can be a string, a resource, or an object whose class implements StreamInterface. In the object case, $input must be an instance of ReadOnlyFile and $output must be an instance of MutableFile.

The difference between asymmetricDecrypt() and deseal() is that asymmetricDecrypt() authenticates the sender, while unseal() does not. (You can think of unseal() as anonymous public-key decryption.)

asymmetricEncrypt()

public static asymmetricEncrypt($input, $output, EncryptionPublicKey $recipientPK, EncryptionSecretKey $senderSK, string $aad = null): int

Encrypt the contents of $input (either a string containing the path to a file, or an open file handle), and store it in the file (handle?) at $output.

Both $input and $output can be a string, a resource, or an object whose class implements StreamInterface. In the object case, $input must be an instance of ReadOnlyFile and $output must be an instance of MutableFile.

The difference between asymmetricEncrypt() and seal() is that asymmetricEncrypt() authenticates the sender, while seal() does not. (You can think of seal() as anonymous public-key encryption.)

seal()

public static seal($input, $output, EncryptionPublicKey $key): string

Seals (encrypts with a public key) the contents of $input (either a string containing the path to a file, or an open file handle), and store it in the file (handle?) at $output.

Both $input and $output can be a string, a resource, or an object whose class implements StreamInterface. In the object case, $input must be an instance of ReadOnlyFile and $output must be an instance of MutableFile.

unseal()

public static unseal($input, $output, EncryptionSecretKey $key) : string

Unseals (decrypts with a secret key) the contents of $input (either a string containing the path to a file, or an open file handle), and store it in the file (handle?) at $output.

Both $input and $output can be a string, a resource, or an object whose class implements StreamInterface. In the object case, $input must be an instance of ReadOnlyFile and $output must be an instance of MutableFile.

sign()

public static sign($input, SignatureSecretKey $key, bool $raw_binary): string

Calculate a digital signature of a file.

$input can be a string or a resource, or an instance of ReadOnlyFile.

verify()

public static verify($input, SignaturePublicKey $key, string $signature, boolean $raw_binary): bool

Verifies a digital signature of a file.

$input can be a string or a resource, or an instance of ReadOnlyFile.