class Encrypter implements Encrypter, StringEncrypter (View source)

Properties

protected string $key

The encryption key.

protected array $previousKeys

The previous / legacy encryption keys.

protected string $cipher

The algorithm used for encryption.

Methods

void
__construct(string $key, string $cipher = 'aes-128-cbc')

Create a new encrypter instance.

static bool
supported(string $key, string $cipher)

Determine if the given key and cipher combination is valid.

static string
generateKey(string $cipher)

Create a new encryption key for the given cipher.

string
encrypt(mixed $value, bool $serialize = true)

Encrypt the given value.

string
encryptString(string $value)

Encrypt a string without serialization.

mixed
decrypt(string $payload, bool $unserialize = true)

Decrypt the given value.

string
decryptString(string $payload)

Decrypt the given string without unserialization.

string
hash(string $iv, mixed $value, string $key)

Create a MAC for the given value.

array
getJsonPayload(string $payload)

Get the JSON array from the given payload.

bool
validPayload(mixed $payload)

Verify that the encryption payload is valid.

bool
validMac(array $payload)

Determine if the MAC for the given payload is valid for the primary key.

bool
validMacForKey(array $payload, string $key)

Determine if the MAC is valid for the given payload and key.

void
ensureTagIsValid(string $tag)

Ensure the given tag is a valid tag given the selected cipher.

bool
shouldValidateMac()

Determine if we should validate the MAC while decrypting.

string
getKey()

Get the encryption key that the encrypter is currently using.

array
getAllKeys()

Get the current encryption key and all previous encryption keys.

array
getPreviousKeys()

Get the previous encryption keys.

$this
previousKeys(array $keys)

Set the previous / legacy encryption keys that should be utilized if decryption fails.

Details

void __construct(string $key, string $cipher = 'aes-128-cbc')

Create a new encrypter instance.

Parameters

string $key
string $cipher

Return Value

void

Exceptions

RuntimeException

static bool supported(string $key, string $cipher)

Determine if the given key and cipher combination is valid.

Parameters

string $key
string $cipher

Return Value

bool

static string generateKey(string $cipher)

Create a new encryption key for the given cipher.

Parameters

string $cipher

Return Value

string

string encrypt(mixed $value, bool $serialize = true)

Encrypt the given value.

Parameters

mixed $value
bool $serialize

Return Value

string

Exceptions

EncryptException

string encryptString(string $value)

Encrypt a string without serialization.

Parameters

string $value

Return Value

string

Exceptions

EncryptException

mixed decrypt(string $payload, bool $unserialize = true)

Decrypt the given value.

Parameters

string $payload
bool $unserialize

Return Value

mixed

Exceptions

DecryptException

string decryptString(string $payload)

Decrypt the given string without unserialization.

Parameters

string $payload

Return Value

string

Exceptions

DecryptException

protected string hash(string $iv, mixed $value, string $key)

Create a MAC for the given value.

Parameters

string $iv
mixed $value
string $key

Return Value

string

protected array getJsonPayload(string $payload)

Get the JSON array from the given payload.

Parameters

string $payload

Return Value

array

Exceptions

DecryptException

protected bool validPayload(mixed $payload)

Verify that the encryption payload is valid.

Parameters

mixed $payload

Return Value

bool

protected bool validMac(array $payload)

Determine if the MAC for the given payload is valid for the primary key.

Parameters

array $payload

Return Value

bool

protected bool validMacForKey(array $payload, string $key)

Determine if the MAC is valid for the given payload and key.

Parameters

array $payload
string $key

Return Value

bool

protected void ensureTagIsValid(string $tag)

Ensure the given tag is a valid tag given the selected cipher.

Parameters

string $tag

Return Value

void

protected bool shouldValidateMac()

Determine if we should validate the MAC while decrypting.

Return Value

bool

string getKey()

Get the encryption key that the encrypter is currently using.

Return Value

string

array getAllKeys()

Get the current encryption key and all previous encryption keys.

Return Value

array

array getPreviousKeys()

Get the previous encryption keys.

Return Value

array

$this previousKeys(array $keys)

Set the previous / legacy encryption keys that should be utilized if decryption fails.

Parameters

array $keys

Return Value

$this