Class OpenSsl
OpenSSL implementation of crypto features for Cake\Utility\Security
OpenSSL should be favored over mcrypt as it is actively maintained and more widely available.
This class is not intended to be used directly and should only be used in the context of Cake\Utility\Security.
Constants summary
-
string
METHOD_AES_256_CBC'aes-256-cbc'
Method Summary
Method Detail
decrypt() public static
decrypt(mixed $cipher, mixed $key)
Decrypt a value using AES-256.
Parameters
-
string
$cipher The ciphertext to decrypt.
-
string
$key The 256 bit/32 byte key to use as a cipher key.
Returns
string
Decrypted data. Any trailing null bytes will be removed.
Throws
InvalidArgumentException
On invalid data or key.
encrypt() public static
encrypt(mixed $plain, mixed $key)
Encrypt a value using AES-256.
Caveat You cannot properly encrypt/decrypt data with trailing null bytes. Any trailing null bytes will be removed on decryption due to how PHP pads messages with nulls prior to encryption.
Parameters
-
string
$plain The value to encrypt.
-
string
$key The 256 bit/32 byte key to use as a cipher key.
Returns
string
Encrypted data.
Throws
InvalidArgumentException
On invalid data or key.
rijndael() public static
rijndael(mixed $text, mixed $key, mixed $operation)
Not implemented
Parameters
-
string
$text Encrypted string to decrypt, normal string to encrypt
-
string
$key Key to use as the encryption key for encrypted data.
-
string
$operation Operation to perform, encrypt or decrypt
Throws
LogicException
Rijndael compatibility does not exist with Openssl.
© 2005–present The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/3.9/class-Cake.Utility.Crypto.OpenSsl.html