Encrypter
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
Create a new encrypter instance.
Determine if the given key and cipher combination is valid.
Create a new encryption key for the given cipher.
Encrypt the given value.
Encrypt a string without serialization.
Decrypt the given value.
Decrypt the given string without unserialization.
Create a MAC for the given value.
Get the JSON array from the given payload.
Verify that the encryption payload is valid.
Determine if the MAC for the given payload is valid for the primary key.
Determine if the MAC is valid for the given payload and key.
Ensure the given tag is a valid tag given the selected cipher.
Determine if we should validate the MAC while decrypting.
Get the encryption key that the encrypter is currently using.
Get the current encryption key and all previous encryption keys.
Get the previous encryption 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.
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.
protected string
hash(string $iv, mixed $value, string $key)
Create a MAC for the given value.
protected array
getJsonPayload(string $payload)
Get the JSON array from the given payload.
protected bool
validPayload(mixed $payload)
Verify that the encryption payload is valid.
protected bool
validMac(array $payload)
Determine if the MAC for the given payload is valid for the primary key.
protected bool
validMacForKey(array $payload, string $key)
Determine if the MAC is valid for the given payload and key.
protected void
ensureTagIsValid(string $tag)
Ensure the given tag is a valid tag given the selected cipher.
protected 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.