3v4l.org

run code in 300+ PHP versions simultaneously
<?php require('CodeBook.php'); $key = '秘密の鍵128b'; $text = '秘密のメッセージ'; /* AES(RIJNDAEL128)、CBC、PKCS#5でPAD */ $codeBook = new CodeBook(); list($encrypted, $iv) = $codeBook->encrypt($key, $text); //暗号化 $decrypted = $codeBook->decrypt($key, $encrypted, $iv); //復号 // => "秘密のメッセージ => (略) => 秘密のメッセージ" echo $text . ' => ' . $encrypted . ' => ' . $decrypted; echo '<br />'; echo var_dump($text === $decrypted); // => bool(true) echo '<hr />'; /* RIJNDAEL256、ECB、Null文字でPAD */ $codeBook = new CodeBook(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB, CodeBook::PAD_NULL); list($encrypted) = $codeBook->encrypt($key, $text); //暗号化(ECBはIV不要) $decrypted = $codeBook->decrypt($key, $encrypted); //復号 // => "秘密のメッセージ => (略) => 秘密のメッセージ" echo $text . ' => ' . $encrypted . ' => ' . $decrypted; echo '<br />'; echo var_dump($text === $decrypted); // => bool(true) echo '<hr />'; /* Blowfish、CBC、スペースでPAD */ $codeBook = new CodeBook(MCRYPT_BLOWFISH, MCRYPT_MODE_CBC, CodeBook::PAD_SPACE); list($encrypted, $iv) = $codeBook->encrypt($key, $text); //暗号化 $decrypted = $codeBook->decrypt($key, $encrypted, $iv); //復号 // => "秘密のメッセージ => (略) => 秘密のメッセージ" echo $text . ' => ' . $encrypted . ' => ' . $decrypted; echo '<br />'; echo var_dump($text === $decrypted); // => bool(true)
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/bEFBO
function name:  (null)
number of ops:  102
compiled vars:  !0 = $key, !1 = $text, !2 = $codeBook, !3 = $encrypted, !4 = $iv, !5 = $decrypted
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    2     0  E >   INCLUDE_OR_EVAL                                          'CodeBook.php', REQUIRE
    4     1        ASSIGN                                                   !0, '%E7%A7%98%E5%AF%86%E3%81%AE%E9%8D%B5128b'
    5     2        ASSIGN                                                   !1, '%E7%A7%98%E5%AF%86%E3%81%AE%E3%83%A1%E3%83%83%E3%82%BB%E3%83%BC%E3%82%B8'
    9     3        NEW                                              $9      'CodeBook'
          4        DO_FCALL                                      0          
          5        ASSIGN                                                   !2, $9
   10     6        INIT_METHOD_CALL                                         !2, 'encrypt'
          7        SEND_VAR_EX                                              !0
          8        SEND_VAR_EX                                              !1
          9        DO_FCALL                                      0  $12     
         10        FETCH_LIST_R                                     $13     $12, 0
         11        ASSIGN                                                   !3, $13
         12        FETCH_LIST_R                                     $15     $12, 1
         13        ASSIGN                                                   !4, $15
         14        FREE                                                     $12
   11    15        INIT_METHOD_CALL                                         !2, 'decrypt'
         16        SEND_VAR_EX                                              !0
         17        SEND_VAR_EX                                              !3
         18        SEND_VAR_EX                                              !4
         19        DO_FCALL                                      0  $17     
         20        ASSIGN                                                   !5, $17
   14    21        CONCAT                                           ~19     !1, '+%3D%3E+'
         22        CONCAT                                           ~20     ~19, !3
         23        CONCAT                                           ~21     ~20, '+%3D%3E+'
         24        CONCAT                                           ~22     ~21, !5
         25        ECHO                                                     ~22
   15    26        ECHO                                                     '%3Cbr+%2F%3E'
   16    27        INIT_FCALL                                               'var_dump'
         28        IS_IDENTICAL                                     ~23     !1, !5
         29        SEND_VAL                                                 ~23
         30        DO_ICALL                                         $24     
         31        ECHO                                                     $24
   18    32        ECHO                                                     '%3Chr+%2F%3E'
   22    33        NEW                                              $25     'CodeBook'
         34        FETCH_CONSTANT                                   ~26     'MCRYPT_RIJNDAEL_256'
         35        SEND_VAL_EX                                              ~26
         36        FETCH_CONSTANT                                   ~27     'MCRYPT_MODE_ECB'
         37        SEND_VAL_EX                                              ~27
         38        FETCH_CLASS_CONSTANT                             ~28     'CodeBook', 'PAD_NULL'
         39        SEND_VAL_EX                                              ~28
         40        DO_FCALL                                      0          
         41        ASSIGN                                                   !2, $25
   23    42        INIT_METHOD_CALL                                         !2, 'encrypt'
         43        SEND_VAR_EX                                              !0
         44        SEND_VAR_EX                                              !1
         45        DO_FCALL                                      0  $31     
         46        FETCH_LIST_R                                     $32     $31, 0
         47        ASSIGN                                                   !3, $32
         48        FREE                                                     $31
   24    49        INIT_METHOD_CALL                                         !2, 'decrypt'
         50        SEND_VAR_EX                                              !0
         51        SEND_VAR_EX                                              !3
         52        DO_FCALL                                      0  $34     
         53        ASSIGN                                                   !5, $34
   27    54        CONCAT                                           ~36     !1, '+%3D%3E+'
         55        CONCAT                                           ~37     ~36, !3
         56        CONCAT                                           ~38     ~37, '+%3D%3E+'
         57        CONCAT                                           ~39     ~38, !5
         58        ECHO                                                     ~39
   28    59        ECHO                                                     '%3Cbr+%2F%3E'
   29    60        INIT_FCALL                                               'var_dump'
         61        IS_IDENTICAL                                     ~40     !1, !5
         62        SEND_VAL                                                 ~40
         63        DO_ICALL                                         $41     
         64        ECHO                                                     $41
   31    65        ECHO                                                     '%3Chr+%2F%3E'
   35    66        NEW                                              $42     'CodeBook'
         67        FETCH_CONSTANT                                   ~43     'MCRYPT_BLOWFISH'
         68        SEND_VAL_EX                                              ~43
         69        FETCH_CONSTANT                                   ~44     'MCRYPT_MODE_CBC'
         70        SEND_VAL_EX                                              ~44
         71        FETCH_CLASS_CONSTANT                             ~45     'CodeBook', 'PAD_SPACE'
         72        SEND_VAL_EX                                              ~45
         73        DO_FCALL                                      0          
         74        ASSIGN                                                   !2, $42
   36    75        INIT_METHOD_CALL                                         !2, 'encrypt'
         76        SEND_VAR_EX                                              !0
         77        SEND_VAR_EX                                              !1
         78        DO_FCALL                                      0  $48     
         79        FETCH_LIST_R                                     $49     $48, 0
         80        ASSIGN                                                   !3, $49
         81        FETCH_LIST_R                                     $51     $48, 1
         82        ASSIGN                                                   !4, $51
         83        FREE                                                     $48
   37    84        INIT_METHOD_CALL                                         !2, 'decrypt'
         85        SEND_VAR_EX                                              !0
         86        SEND_VAR_EX                                              !3
         87        SEND_VAR_EX                                              !4
         88        DO_FCALL                                      0  $53     
         89        ASSIGN                                                   !5, $53
   40    90        CONCAT                                           ~55     !1, '+%3D%3E+'
         91        CONCAT                                           ~56     ~55, !3
         92        CONCAT                                           ~57     ~56, '+%3D%3E+'
         93        CONCAT                                           ~58     ~57, !5
         94        ECHO                                                     ~58
   41    95        ECHO                                                     '%3Cbr+%2F%3E'
   42    96        INIT_FCALL                                               'var_dump'
         97        IS_IDENTICAL                                     ~59     !1, !5
         98        SEND_VAL                                                 ~59
         99        DO_ICALL                                         $60     
        100        ECHO                                                     $60
        101      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
154.55 ms | 1404 KiB | 15 Q