PHP Encryption Sample Code

            
class AES {
   Convert Hexadecimal string to bytes
   public static function hexToBytes($hex) {
       return hex2bin($hex);
   }


  Convert bytes to Hexadecimal string
   public static function bytesToHex($bytes) {
       return bin2hex($bytes);
   }


    Encrypt function
   public static function encrypt($data) {
       $key = self::hexToBytes(getenv('CRYPTO_KEY'));   Use your own key here
       $iv = self::hexToBytes(getenv('IV_KEY'));
       String keyHex = self::hexToBytes("key");   your 32 bytes key provided by developer team
       String ivHex = self::hexToBytes("iv");   16 bytes iv provided by developer team

       $cipherMethod = "AES-256-CBC";


        Encrypt the data
       $encrypted = openssl_encrypt($data, $cipherMethod, $key, OPENSSL_RAW_DATA, $iv);


       Convert encrypted data to hex for easier storage
       return self::bytesToHex($encrypted);
   }


   Decrypt function
   public static function decrypt($encryptedData) {
       $key = self::hexToBytes(getenv('CRYPTO_KEY'));   Use your own key here
       $iv = self::hexToBytes(getenv('IV_KEY'));
       $cipherMethod = "AES-256-CBC";


        Convert the encrypted hex string back to binary
       $encryptedBytes = self::hexToBytes($encryptedData);


        Decrypt the data
       $decrypted = openssl_decrypt($encryptedBytes, $cipherMethod, $key, OPENSSL_RAW_DATA, $iv);
       return $decrypted;
   }
}


 Example usage
$plaintext = json_encode([
   "p1" => "015082122185",
   "p2" => "ICIC0002122",
   "p3" => "UB456787654",
   "p4" => "61a",
   "p5" => "DEV"
]);


$encrypted = AES::encrypt($plaintext);
echo "Encrypted (Hex): " . $encrypted . "\n";


$decrypted = AES::decrypt($encrypted);
echo "Decrypted Text: " . $decrypted . "\n";