In PHP, Encryption and Decryption of a string is possible using one of the Cryptography Extensions called OpenSSL function for encrypt and decrypt.
openssl_encrypt[] Function: The openssl_encrypt[] function is used to encrypt the data.
Syntax:
string openssl_encrypt[ string $data, string $method, string $key, $options = 0, string $iv, string $tag= NULL, string $aad, int $tag_length = 16 ]
Parameters:
- $data: It holds the string or data which need to be encrypted.
- $method: The cipher method is adopted using openssl_get_cipher_methods[] function.
- $key: It holds the encryption key.
- $options: It holds the bitwise disjunction of the flags OPENSSL_RAW_DATA and OPENSSL_ZERO_PADDING.
- $iv: It holds the initialization vector which is not NULL.
- $tag: It holds the authentication tag which is passed by reference when using AEAD cipher mode [GCM or CCM].
- $aad: It holds the additional authentication data.
- $tag_length: It holds the length of the authentication tag. The length of authentication tag lies between 4 to 16 for GCM mode.
Return Value: It returns the encrypted string on success or FALSE on failure.
openssl_decrypt[] Function The openssl_decrypt[] function is used to decrypt the data.
Syntax:
string openssl_decrypt[ string $data, string $method, string $key, int $options = 0, string $iv, string $tag, string $aad]
Parameters:
- $data: It holds the string or data which need to be encrypted.
- $method: The cipher method is adopted using openssl_get_cipher_methods[] function.
- $key: It holds the encryption key.
- $options: It holds the bitwise disjunction of the flags OPENSSL_RAW_DATA and OPENSSL_ZERO_PADDING.
- $iv: It holds the initialization vector which is not NULL.
- $tag: It holds the authentication tag using AEAD cipher mode [GCM or CCM]. When authentication fails openssl_decrypt[] returns FALSE.
- $aad: It holds the additional authentication data.
Return Value: It returns the decrypted string on success or FALSE on failure.
Approach: First declare a string and store it into variable and use openssl_encrypt[] function to encrypt the given string and use openssl_decrypt[] function to descrypt the given string.
Example 1: This example illustrates the encryption and decryption of string.
Output:
Original String: Welcome to GeeksforGeeks Encrypted String: hwB1K5NkfcIzkLTWQeQfHLNg5FlyX3PNUA== Decrypted String: Welcome to GeeksforGeeks
Example 2: Below example illustrate the encryption and decryption of string. Here string to be encrypted and decrypted string will be same but the encrypted string is randomly changed respectively.
Output:
Original String: Welcome to GeeksforGeeks Encrypted String: hwB1K5NkfcIzkLTWQeQfHLNg5FlyX3PNUA== Decrypted String: Welcome to GeeksforGeeks
References:
- //www.php.net/manual/en/function.openssl-encrypt.php
- //www.php.net/manual/en/function.openssl-decrypt.php
PHP is a server-side scripting language designed specifically for web development. You can learn PHP from the ground up by following this PHP Tutorial and PHP Examples.