Diviner

Class PhutilOpaqueEnvelope

Definedsrc/error/PhutilOpaqueEnvelope.php:23

Opaque reference to a string (like a password) that won't put any sensitive data in stack traces, var_dump(), print_r(), error logs, etc. Usage:

$envelope = new PhutilOpaqueEnvelope($password);
do_stuff($envelope);
// ...
$password = $envelope->openEnvelope();

Any time you're passing sensitive data into a stack, you should obscure it with an envelope to prevent it leaking if something goes wrong.

The key for the envelope is stored elsewhere, in PhutilOpaqueEnvelopeKey. This prevents it from appearing in any sort of logs related to the envelope, even if the logger is very aggressive.

Tasks

Using Opaque Envelopes

Internals

Methods

public this __construct($string)

parameterswild$string
returnthis
This method is not documented.

public __toString()

returnwild
This method is not documented.

private mask($string, $noise)

parameterswild$string
wild$noise
returnwild
This method is not documented.

public openEnvelope()

returnwild
This method is not documented.