3v4l.org

run code in 500+ 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/rRnD8
function name:  (null)
number of ops:  82
compiled vars:  !0 = $key, !1 = $string, !2 = $iv, !3 = $encrypted, !4 = $data, !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+'
    8     2        INIT_FCALL_BY_NAME                                           'mcrypt_create_iv'
    9     3        INIT_FCALL_BY_NAME                                           'mcrypt_get_iv_size'
          4        FETCH_CONSTANT                                       ~8      'MCRYPT_RIJNDAEL_128'
          5        SEND_VAL_EX                                                  ~8
          6        FETCH_CONSTANT                                       ~9      'MCRYPT_MODE_CBC'
          7        SEND_VAL_EX                                                  ~9
          8        DO_FCALL                                          0  $10     
          9        SEND_VAR_NO_REF_EX                                           $10
   10    10        FETCH_CONSTANT                                       ~11     'MCRYPT_DEV_URANDOM'
         11        SEND_VAL_EX                                                  ~11
    8    12        DO_FCALL                                          0  $12     
         13        ASSIGN                                                       !2, $12
   13    14        INIT_FCALL                                                   'base64_encode'
   15    15        INIT_FCALL_BY_NAME                                           'mcrypt_encrypt'
   16    16        FETCH_CONSTANT                                       ~14     'MCRYPT_RIJNDAEL_128'
         17        SEND_VAL_EX                                                  ~14
   17    18        INIT_FCALL                                                   'hash'
         19        SEND_VAL                                                     'sha256'
         20        SEND_VAR                                                     !0
         21        SEND_VAL                                                     <true>
         22        DO_ICALL                                             $15     
         23        SEND_VAR_NO_REF_EX                                           $15
   16    24        SEND_VAR_EX                                                  !1
   19    25        FETCH_CONSTANT                                       ~16     'MCRYPT_MODE_CBC'
         26        SEND_VAL_EX                                                  ~16
   16    27        SEND_VAR_EX                                                  !2
   15    28        DO_FCALL                                          0  $17     
   16    29        CONCAT                                               ~18     !2, $17
         30        SEND_VAL                                                     ~18
   13    31        DO_ICALL                                             $19     
         32        ASSIGN                                                       !3, $19
   26    33        INIT_FCALL                                                   'base64_decode'
         34        SEND_VAR                                                     !3
         35        DO_ICALL                                             $21     
         36        ASSIGN                                                       !4, $21
   27    37        INIT_FCALL_BY_NAME                                           'mcrypt_get_iv_size'
         38        FETCH_CONSTANT                                       ~23     'MCRYPT_RIJNDAEL_128'
         39        SEND_VAL_EX                                                  ~23
         40        FETCH_CONSTANT                                       ~24     'MCRYPT_MODE_CBC'
         41        SEND_VAL_EX                                                  ~24
         42        DO_FCALL                                          0  $25     
         43        FRAMELESS_ICALL_3                substr              ~26     !4, 0
         44        OP_DATA                                                      $25
         45        ASSIGN                                                       !2, ~26
   29    46        INIT_FCALL                                                   'rtrim'
   30    47        INIT_FCALL_BY_NAME                                           'mcrypt_decrypt'
   31    48        FETCH_CONSTANT                                       ~28     'MCRYPT_RIJNDAEL_128'
         49        SEND_VAL_EX                                                  ~28
   32    50        INIT_FCALL                                                   'hash'
         51        SEND_VAL                                                     'sha256'
         52        SEND_VAR                                                     !0
         53        SEND_VAL                                                     <true>
         54        DO_ICALL                                             $29     
         55        SEND_VAR_NO_REF_EX                                           $29
   33    56        INIT_FCALL_BY_NAME                                           'mcrypt_get_iv_size'
         57        FETCH_CONSTANT                                       ~30     'MCRYPT_RIJNDAEL_128'
         58        SEND_VAL_EX                                                  ~30
         59        FETCH_CONSTANT                                       ~31     'MCRYPT_MODE_CBC'
         60        SEND_VAL_EX                                                  ~31
         61        DO_FCALL                                          0  $32     
         62        FRAMELESS_ICALL_2                substr              ~33     !4, $32
         63        SEND_VAL_EX                                                  ~33
   34    64        FETCH_CONSTANT                                       ~34     'MCRYPT_MODE_CBC'
         65        SEND_VAL_EX                                                  ~34
   31    66        SEND_VAR_EX                                                  !2
   30    67        DO_FCALL                                          0  $35     
   31    68        SEND_VAR                                                     $35
   37    69        SEND_VAL                                                     '%00'
   29    70        DO_ICALL                                             $36     
         71        ASSIGN                                                       !5, $36
   42    72        ECHO                                                         'Encrypted%3A%0A'
   43    73        INIT_FCALL                                                   'var_dump'
         74        SEND_VAR                                                     !3
         75        DO_ICALL                                                     
   45    76        ECHO                                                         '%0A'
   47    77        ECHO                                                         'Decrypted%3A%0A'
   48    78        INIT_FCALL                                                   'var_dump'
         79        SEND_VAR                                                     !5
         80        DO_ICALL                                                     
         81      > RETURN                                                       1

Generated using Vulcan Logic Dumper, using php 8.5.0


preferences:
164.43 ms | 2396 KiB | 18 Q