3v4l.org

run code in 300+ PHP versions simultaneously
<?php $key = 'password to (en/de)crypt'; $string = ' {login:"user_test", password:"12311231!"} '; // note the spaces /* $iv = mcrypt_create_iv( mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_CBC), MCRYPT_DEV_URANDOM ); $encrypted = base64_encode( $iv . mcrypt_encrypt( MCRYPT_RIJNDAEL_128, hash('sha256', $key, true), $string, MCRYPT_MODE_CBC, $iv ) );*/ $encrypted = "t0izCc6wCMaoOFbTnjrUCaVzXtqzv0O2812Yv9DT7p19llSuu4eFV6ha4ukvFeYCYr31LAVHYo5BaUzuCBNkcA=="; $data = base64_decode($encrypted); $iv = substr($data, 0, mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_CBC)); $decrypted = rtrim( mcrypt_decrypt( MCRYPT_RIJNDAEL_128, hash('sha256', $key, true), substr($data, mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_CBC)), MCRYPT_MODE_CBC, $iv ), "\0" ); echo 'Encrypted:' . "\n"; var_dump($encrypted); echo "\n"; echo 'Decrypted:' . "\n"; var_dump($decrypted);
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/Kak0v
function name:  (null)
number of ops:  58
compiled vars:  !0 = $key, !1 = $string, !2 = $encrypted, !3 = $data, !4 = $iv, !5 = $decrypted
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    4     0  E >   ASSIGN                                                   !0, 'password+to+%28en%2Fde%29crypt'
    5     1        ASSIGN                                                   !1, '+%7Blogin%3A%22user_test%22%2C+password%3A%2212311231%21%22%7D+'
   23     2        ASSIGN                                                   !2, 't0izCc6wCMaoOFbTnjrUCaVzXtqzv0O2812Yv9DT7p19llSuu4eFV6ha4ukvFeYCYr31LAVHYo5BaUzuCBNkcA%3D%3D'
   26     3        INIT_FCALL                                               'base64_decode'
          4        SEND_VAR                                                 !2
          5        DO_ICALL                                         $9      
          6        ASSIGN                                                   !3, $9
   27     7        INIT_FCALL                                               'substr'
          8        SEND_VAR                                                 !3
          9        SEND_VAL                                                 0
         10        INIT_FCALL_BY_NAME                                       'mcrypt_get_iv_size'
         11        FETCH_CONSTANT                                   ~11     'MCRYPT_RIJNDAEL_128'
         12        SEND_VAL_EX                                              ~11
         13        FETCH_CONSTANT                                   ~12     'MCRYPT_MODE_CBC'
         14        SEND_VAL_EX                                              ~12
         15        DO_FCALL                                      0  $13     
         16        SEND_VAR                                                 $13
         17        DO_ICALL                                         $14     
         18        ASSIGN                                                   !4, $14
   29    19        INIT_FCALL                                               'rtrim'
   30    20        INIT_FCALL_BY_NAME                                       'mcrypt_decrypt'
   31    21        FETCH_CONSTANT                                   ~16     'MCRYPT_RIJNDAEL_128'
         22        SEND_VAL_EX                                              ~16
   32    23        INIT_FCALL                                               'hash'
         24        SEND_VAL                                                 'sha256'
         25        SEND_VAR                                                 !0
         26        SEND_VAL                                                 <true>
         27        DO_ICALL                                         $17     
         28        SEND_VAR_NO_REF_EX                                       $17
   33    29        INIT_FCALL                                               'substr'
         30        SEND_VAR                                                 !3
         31        INIT_FCALL_BY_NAME                                       'mcrypt_get_iv_size'
         32        FETCH_CONSTANT                                   ~18     'MCRYPT_RIJNDAEL_128'
         33        SEND_VAL_EX                                              ~18
         34        FETCH_CONSTANT                                   ~19     'MCRYPT_MODE_CBC'
         35        SEND_VAL_EX                                              ~19
         36        DO_FCALL                                      0  $20     
         37        SEND_VAR                                                 $20
         38        DO_ICALL                                         $21     
         39        SEND_VAR_NO_REF_EX                                       $21
   34    40        FETCH_CONSTANT                                   ~22     'MCRYPT_MODE_CBC'
         41        SEND_VAL_EX                                              ~22
   31    42        SEND_VAR_EX                                              !4
         43        DO_FCALL                                      0  $23     
         44        SEND_VAR                                                 $23
   37    45        SEND_VAL                                                 '%00'
         46        DO_ICALL                                         $24     
   29    47        ASSIGN                                                   !5, $24
   42    48        ECHO                                                     'Encrypted%3A%0A'
   43    49        INIT_FCALL                                               'var_dump'
         50        SEND_VAR                                                 !2
         51        DO_ICALL                                                 
   45    52        ECHO                                                     '%0A'
   47    53        ECHO                                                     'Decrypted%3A%0A'
   48    54        INIT_FCALL                                               'var_dump'
         55        SEND_VAR                                                 !5
         56        DO_ICALL                                                 
         57      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
189.44 ms | 1400 KiB | 23 Q