3v4l.org

run code in 300+ PHP versions simultaneously
<?php class EPDDecryptor { private $key; private $cipher; private $mode; private $iv; private $ipnData; public function __construct($securityCode) { $this->key = $securityCode; $this->iv = 'payza'; $this->cipher = MCRYPT_3DES; $this->mode = MCRYPT_MODE_CBC; } public function decrypt($cypherText) { //Decode the base64 encoded text $cypherText = base64_decode($cypherText); //Complete the key $key_add = 24-strlen($this->key); $this->key .= substr($this->key,0,$key_add); // use mcrypt library for encryption $decryptedText = mcrypt_decrypt($this->cipher, $this->key, $cypherText, $this->mode, $this->iv); parse_str(trim($decryptedText,"\x00..\x1F"),$this->ipnData); return $this->ipnData; } } $a = new EPDDecryptor('Q3pCYA8MoKfGDrO1'); var_dump($a->decrypt('KJq6A9FdFIQTUE8h0zWnE3s7EN%2bENguiZvQ2bzpm2yOl9gKSEwjPM0gb8ugblKYYm3GqTN1eWXuZNsuZV8NPpmtwsum5gDbFjyDruNQcAtCGcL3ZGdElB2HEyrkQZx%2bXVrEyJlgNTHoEKh3aQhnwxZm5q0Kld%2biQA86JIhny77RAEXrOR86dO8fTZcB3D2rNk96rMOIc1w%2fGL%2f5CzjLobi%2fGC8rf%2bJNL9JD92Ja5Ji49XR%2fQ6jP2xU33qjZ2f7ZJiBJ5RG82XqlfhiS4TxLXox5xdUIm1tkYGCTndNvArgiwTVhzLvG4mgEJgC8EBAYbJr4Q9oI683KsQJyvtoRxbezzY7vdOByJgutOCPxue2%2fg6DpOds3EjbZgWyLVKsDU6FIDIgVL9l7ErQ0P%2bj3u%2fVH7jnVHC7syJeHE5gzEnGJ0sY4oWbW9GpA56F1V49RirWBONDUELftvf1upTk3%2fneCPPLvv%2bg6LG2z%2fPIAPTh45gxDdgnrE99xT54qoaWZGnWlkOI7OyDrrAfC3yTtKm00n7Y4pLlLvGjYJTa2NBsHcvXcKjs4cyhKj4zKyAkoINWfmgJya%2fCW1DNw6guv%2fdbmMiIqX%2fQ7uqJEd8qQkhS8VnDylMoc%2bAvsxrkO%2fkoF6RIvXCqSAjsEfKuX9t3900ugKNODjfTBiuymQjRaGP%2fu6e9%2f77JYK%2fJmVqbipahF62rda074qxTIFpeX21syQYoGfbA4y7hTiAHR1CSIF1qU5eppsqeKjJ%2b3iJz1zwfP%2fzIRnEz5d0nrseeA%2b2vDlk%2fFI%2fn6bBAFWxCzTQIYZjQvNQg%2f0W141DoVXCmtweivRADo41LEwobZmR9YJ5rQqS7vrLZ2gnqRv1r2uY8Z6jlJYBDLKdBOwYswNu7k%2bzrOMyM6RsFDz2wicH5FSBpMc45XkuQkB5vgF8NBMhzfoDM0NHAjsRTGDe7a074JgqYDonP%2bZu3TVT01RFCXwNBJ8L%2b1Va4fDrvOkHZnq1uHFAZT9SUrJpkDa2Mtt5WrJ8iM6U0mupQjgCMcZGDIpWBULiq7Bplt2JSykfiNCOe9Y0qg%3d'));
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/4LvcA
function name:  (null)
number of ops:  11
compiled vars:  !0 = $a
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   35     0  E >   NEW                                              $1      'EPDDecryptor'
          1        SEND_VAL_EX                                              'Q3pCYA8MoKfGDrO1'
          2        DO_FCALL                                      0          
          3        ASSIGN                                                   !0, $1
   36     4        INIT_FCALL                                               'var_dump'
          5        INIT_METHOD_CALL                                         !0, 'decrypt'
          6        SEND_VAL_EX                                              'KJq6A9FdFIQTUE8h0zWnE3s7EN%252bENguiZvQ2bzpm2yOl9gKSEwjPM0gb8ugblKYYm3GqTN1eWXuZNsuZV8NPpmtwsum5gDbFjyDruNQcAtCGcL3ZGdElB2HEyrkQZx%252bXVrEyJlgNTHoEKh3aQhnwxZm5q0Kld%252biQA86JIhny77RAEXrOR86dO8fTZcB3D2rNk96rMOIc1w%252fGL%252f5CzjLobi%252fGC8rf%252bJNL9JD92Ja5Ji49XR%252fQ6jP2xU33qjZ2f7ZJiBJ5RG82XqlfhiS4TxLXox5xdUIm1tkYGCTndNvArgiwTVhzLvG4mgEJgC8EBAYbJr4Q9oI683KsQJyvtoRxbezzY7vdOByJgutOCPxue2%252fg6DpOds3EjbZgWyLVKsDU6FIDIgVL9l7ErQ0P%252bj3u%252fVH7jnVHC7syJeHE5gzEnGJ0sY4oWbW9GpA56F1V49RirWBONDUELftvf1upTk3%252fneCPPLvv%252bg6LG2z%252fPIAPTh45gxDdgnrE99xT54qoaWZGnWlkOI7OyDrrAfC3yTtKm00n7Y4pLlLvGjYJTa2NBsHcvXcKjs4cyhKj4zKyAkoINWfmgJya%252fCW1DNw6guv%252fdbmMiIqX%252fQ7uqJEd8qQkhS8VnDylMoc%252bAvsxrkO%252fkoF6RIvXCqSAjsEfKuX9t3900ugKNODjfTBiuymQjRaGP%252fu6e9%252f77JYK%252fJmVqbipahF62rda074qxTIFpeX21syQYoGfbA4y7hTiAHR1CSIF1qU5eppsqeKjJ%252b3iJz1zwfP%252fzIRnEz5d0nrseeA%252b2vDlk%252fFI%252fn6bBAFWxCzTQIYZjQvNQg%252f0W141DoVXCmtweivRADo41LEwobZmR9YJ5rQqS7vrLZ2gnqRv1r2uY8Z6jlJYBDLKdBOwYswNu7k%252bzrOMyM6RsFDz2wicH5FSBpMc45XkuQkB5vgF8NBMhzfoDM0NHAjsRTGDe7a074JgqYDonP%252bZu3TVT01RFCXwNBJ8L%252b1Va4fDrvOkHZnq1uHFAZT9SUrJpkDa2Mtt5WrJ8iM6U0mupQjgCMcZGDIpWBULiq7Bplt2JSykfiNCOe9Y0qg%253d'
          7        DO_FCALL                                      0  $4      
          8        SEND_VAR                                                 $4
          9        DO_ICALL                                                 
         10      > RETURN                                                   1

Class EPDDecryptor:
Function __construct:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/4LvcA
function name:  __construct
number of ops:  12
compiled vars:  !0 = $securityCode
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   10     0  E >   RECV                                             !0      
   12     1        ASSIGN_OBJ                                               'key'
          2        OP_DATA                                                  !0
   13     3        ASSIGN_OBJ                                               'iv'
          4        OP_DATA                                                  'payza'
   14     5        FETCH_CONSTANT                                   ~4      'MCRYPT_3DES'
          6        ASSIGN_OBJ                                               'cipher'
          7        OP_DATA                                                  ~4
   15     8        FETCH_CONSTANT                                   ~6      'MCRYPT_MODE_CBC'
          9        ASSIGN_OBJ                                               'mode'
         10        OP_DATA                                                  ~6
   16    11      > RETURN                                                   null

End of function __construct

Function decrypt:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/4LvcA
function name:  decrypt
number of ops:  45
compiled vars:  !0 = $cypherText, !1 = $key_add, !2 = $decryptedText
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   18     0  E >   RECV                                             !0      
   21     1        INIT_FCALL                                               'base64_decode'
          2        SEND_VAR                                                 !0
          3        DO_ICALL                                         $3      
          4        ASSIGN                                                   !0, $3
   24     5        FETCH_OBJ_R                                      ~5      'key'
          6        STRLEN                                           ~6      ~5
          7        SUB                                              ~7      24, ~6
          8        ASSIGN                                                   !1, ~7
   25     9        INIT_FCALL                                               'substr'
         10        FETCH_OBJ_R                                      ~10     'key'
         11        SEND_VAL                                                 ~10
         12        SEND_VAL                                                 0
         13        SEND_VAR                                                 !1
         14        DO_ICALL                                         $11     
         15        ASSIGN_OBJ_OP                                 8          'key'
         16        OP_DATA                                                  $11
   28    17        INIT_FCALL_BY_NAME                                       'mcrypt_decrypt'
         18        CHECK_FUNC_ARG                                           
         19        FETCH_OBJ_FUNC_ARG                               $12     'cipher'
         20        SEND_FUNC_ARG                                            $12
         21        CHECK_FUNC_ARG                                           
         22        FETCH_OBJ_FUNC_ARG                               $13     'key'
         23        SEND_FUNC_ARG                                            $13
         24        SEND_VAR_EX                                              !0
         25        CHECK_FUNC_ARG                                           
         26        FETCH_OBJ_FUNC_ARG                               $14     'mode'
         27        SEND_FUNC_ARG                                            $14
         28        CHECK_FUNC_ARG                                           
         29        FETCH_OBJ_FUNC_ARG                               $15     'iv'
         30        SEND_FUNC_ARG                                            $15
         31        DO_FCALL                                      0  $16     
         32        ASSIGN                                                   !2, $16
   29    33        INIT_FCALL                                               'parse_str'
         34        INIT_FCALL                                               'trim'
         35        SEND_VAR                                                 !2
         36        SEND_VAL                                                 '%00..%1F'
         37        DO_ICALL                                         $18     
         38        SEND_VAR                                                 $18
         39        FETCH_OBJ_W                                      $19     'ipnData'
         40        SEND_REF                                                 $19
         41        DO_ICALL                                                 
   31    42        FETCH_OBJ_R                                      ~21     'ipnData'
         43      > RETURN                                                   ~21
   32    44*     > RETURN                                                   null

End of function decrypt

End of class EPDDecryptor.

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
165.96 ms | 1400 KiB | 23 Q