How do i decrypt a php file?

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.

<?php

$simple_string = "Welcome to GeeksforGeeks\n";

echo "Original String: " . $simple_string;

$ciphering = "AES-128-CTR";

$iv_length = openssl_cipher_iv_length($ciphering);

$options = 0;

$encryption_iv = '1234567891011121';

$encryption_key = "GeeksforGeeks";

$encryption = openssl_encrypt($simple_string, $ciphering,

            $encryption_key, $options, $encryption_iv);

echo "Encrypted String: " . $encryption . "\n";

$decryption_iv = '1234567891011121';

$decryption_key = "GeeksforGeeks";

$decryption=openssl_decrypt ($encryption, $ciphering

        $decryption_key, $options, $decryption_iv);

echo "Decrypted String: " . $decryption;

?>

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.

<?php

$simple_string = "Welcome to GeeksforGeeks";

echo "Original String: " . $simple_string . "\n";

$ciphering = "BF-CBC";

$iv_length = openssl_cipher_iv_length($ciphering);

$options = 0;

$encryption_iv = random_bytes($iv_length);

$encryption_key = openssl_digest(php_uname(), 'MD5', TRUE);

$encryption = openssl_encrypt($simple_string, $ciphering,

        $encryption_key, $options, $encryption_iv);

echo "Encrypted String: " . $encryption . "\n";

$decryption_iv = random_bytes($iv_length);

$decryption_key = openssl_digest(php_uname(), 'MD5', TRUE);

$decryption = openssl_decrypt ($encryption, $ciphering,

            $decryption_key, $options, $encryption_iv);

echo "Decrypted String: " . $decryption;

?>

Output:

Original String: Welcome to GeeksforGeeks
Encrypted String: hwB1K5NkfcIzkLTWQeQfHLNg5FlyX3PNUA==
Decrypted String: Welcome to GeeksforGeeks

References:

  • https://www.php.net/manual/en/function.openssl-encrypt.php
  • https://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.


How do I decode a PHP file?

'1XA0E06tDu3v6B6UpuAli16LtnXxz0h0E1dLdRZSpQYRzsZLlndLr9LUzBLypmv' . eval function will execute the decoded PHP code. So you can try to replace eval(ivq($zkahl, $viici)); with echo(ivq($zkahl, $viici)); and check the output.

Can PHP decrypt data?

In PHP, Encryption and Decryption of a string is possible using one of the Cryptography Extensions called OpenSSL function for encrypt and decrypt.

How do I manually decrypt a file?

To decrypt a file or folder:.
From the Start menu, select Programs or All Programs, then Accessories, and then Windows Explorer..
Right-click the file or folder you want to decrypt, and then click Properties..
On the General tab, click Advanced..
Clear the Encrypt contents to secure data checkbox, and then click OK..

Can you decrypt hash password PHP?

You can't decrypt it. A hash is a one-way function. Hash the password the user has given you and see the the hashes match.