3v4l.org

run code in 500+ PHP versions simultaneously
<?php $CLIENT_ID = "5372_dc3n7NvbHBApDwhEUEY5vq9fcaMSsYKnmYNMukC2"; $SECRET = "GFZtdbDOzxbA.ouvKX2ZGYoBL1Bi32cawWxalwL6kBDRZk8gPvZwNitAuROTJ9dl"; $nonce = rtrim(base64_encode(random_bytes(rand(12, 30))), '=');$nonce = rtrim(base64_encode(random_bytes(rand(12, 30))), '='); $created = gmdate('Y-m-d\TH:i:s\Z'); $message = $nonce . $created . $CLIENT_ID; $signature = base64_encode(hash_hmac('sha256', $message, $SECRET, true)); $auth_header = 'http://api.soaringspot.com/v1/hmac/v1 ' . 'ClientID="' . $CLIENT_ID . '", ' . 'Signature="' . $signature . '", ' . 'Nonce="' . $nonce . '", ' . 'Created="' . $created . '"'; echo "Nonce: " . $nonce . "\n"; echo "Created: " . $created . "\n"; echo "Auth: " . $auth_header . "\n\n"; $ch = curl_init("https://api.soaringspot.com/v1/contests"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HTTPHEADER, [ "Authorization: " . $auth_header, "Accept: application/hal+json", ]); $response = curl_exec($ch); $http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); echo "HTTP Code: " . $http_code . "\n"; echo "Response: " . $response . "\n"; ?>
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/kJcgt
function name:  (null)
number of ops:  109
compiled vars:  !0 = $CLIENT_ID, !1 = $SECRET, !2 = $nonce, !3 = $created, !4 = $message, !5 = $signature, !6 = $auth_header, !7 = $ch, !8 = $response, !9 = $http_code
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    2     0  E >   ASSIGN                                                   !0, '5372_dc3n7NvbHBApDwhEUEY5vq9fcaMSsYKnmYNMukC2'
    3     1        ASSIGN                                                   !1, 'GFZtdbDOzxbA.ouvKX2ZGYoBL1Bi32cawWxalwL6kBDRZk8gPvZwNitAuROTJ9dl'
    5     2        INIT_FCALL                                               'rtrim'
          3        INIT_FCALL                                               'base64_encode'
          4        INIT_FCALL                                               'random_bytes'
          5        INIT_FCALL                                               'rand'
          6        SEND_VAL                                                 12
          7        SEND_VAL                                                 30
          8        DO_ICALL                                         $12     
          9        SEND_VAR                                                 $12
         10        DO_ICALL                                         $13     
         11        SEND_VAR                                                 $13
         12        DO_ICALL                                         $14     
         13        SEND_VAR                                                 $14
         14        SEND_VAL                                                 '%3D'
         15        DO_ICALL                                         $15     
         16        ASSIGN                                                   !2, $15
         17        INIT_FCALL                                               'rtrim'
         18        INIT_FCALL                                               'base64_encode'
         19        INIT_FCALL                                               'random_bytes'
         20        INIT_FCALL                                               'rand'
         21        SEND_VAL                                                 12
         22        SEND_VAL                                                 30
         23        DO_ICALL                                         $17     
         24        SEND_VAR                                                 $17
         25        DO_ICALL                                         $18     
         26        SEND_VAR                                                 $18
         27        DO_ICALL                                         $19     
         28        SEND_VAR                                                 $19
         29        SEND_VAL                                                 '%3D'
         30        DO_ICALL                                         $20     
         31        ASSIGN                                                   !2, $20
    6    32        INIT_FCALL                                               'gmdate'
         33        SEND_VAL                                                 'Y-m-d%5CTH%3Ai%3As%5CZ'
         34        DO_ICALL                                         $22     
         35        ASSIGN                                                   !3, $22
    7    36        CONCAT                                           ~24     !2, !3
         37        CONCAT                                           ~25     ~24, !0
         38        ASSIGN                                                   !4, ~25
    8    39        INIT_FCALL                                               'base64_encode'
         40        INIT_FCALL                                               'hash_hmac'
         41        SEND_VAL                                                 'sha256'
         42        SEND_VAR                                                 !4
         43        SEND_VAR                                                 !1
         44        SEND_VAL                                                 <true>
         45        DO_ICALL                                         $27     
         46        SEND_VAR                                                 $27
         47        DO_ICALL                                         $28     
         48        ASSIGN                                                   !5, $28
   11    49        CONCAT                                           ~30     'http%3A%2F%2Fapi.soaringspot.com%2Fv1%2Fhmac%2Fv1+ClientID%3D%22', !0
         50        CONCAT                                           ~31     ~30, '%22%2C+'
   12    51        CONCAT                                           ~32     ~31, 'Signature%3D%22'
         52        CONCAT                                           ~33     ~32, !5
         53        CONCAT                                           ~34     ~33, '%22%2C+'
   13    54        CONCAT                                           ~35     ~34, 'Nonce%3D%22'
         55        CONCAT                                           ~36     ~35, !2
         56        CONCAT                                           ~37     ~36, '%22%2C+'
   14    57        CONCAT                                           ~38     ~37, 'Created%3D%22'
         58        CONCAT                                           ~39     ~38, !3
         59        CONCAT                                           ~40     ~39, '%22'
   10    60        ASSIGN                                                   !6, ~40
   16    61        CONCAT                                           ~42     'Nonce%3A+++', !2
         62        CONCAT                                           ~43     ~42, '%0A'
         63        ECHO                                                     ~43
   17    64        CONCAT                                           ~44     'Created%3A+', !3
         65        CONCAT                                           ~45     ~44, '%0A'
         66        ECHO                                                     ~45
   18    67        CONCAT                                           ~46     'Auth%3A++++', !6
         68        CONCAT                                           ~47     ~46, '%0A%0A'
         69        ECHO                                                     ~47
   20    70        INIT_FCALL_BY_NAME                                       'curl_init'
         71        SEND_VAL_EX                                              'https%3A%2F%2Fapi.soaringspot.com%2Fv1%2Fcontests'
         72        DO_FCALL                                      0  $48     
         73        ASSIGN                                                   !7, $48
   21    74        INIT_FCALL_BY_NAME                                       'curl_setopt'
         75        SEND_VAR_EX                                              !7
         76        FETCH_CONSTANT                                   ~50     'CURLOPT_RETURNTRANSFER'
         77        SEND_VAL_EX                                              ~50
         78        SEND_VAL_EX                                              <true>
         79        DO_FCALL                                      0          
   22    80        INIT_FCALL_BY_NAME                                       'curl_setopt'
         81        SEND_VAR_EX                                              !7
         82        FETCH_CONSTANT                                   ~52     'CURLOPT_HTTPHEADER'
         83        SEND_VAL_EX                                              ~52
   23    84        CONCAT                                           ~53     'Authorization%3A+', !6
         85        INIT_ARRAY                                       ~54     ~53
   24    86        ADD_ARRAY_ELEMENT                                ~54     'Accept%3A+application%2Fhal%2Bjson'
         87        SEND_VAL_EX                                              ~54
   22    88        DO_FCALL                                      0          
   27    89        INIT_FCALL_BY_NAME                                       'curl_exec'
         90        SEND_VAR_EX                                              !7
         91        DO_FCALL                                      0  $56     
         92        ASSIGN                                                   !8, $56
   28    93        INIT_FCALL_BY_NAME                                       'curl_getinfo'
         94        SEND_VAR_EX                                              !7
         95        FETCH_CONSTANT                                   ~58     'CURLINFO_HTTP_CODE'
         96        SEND_VAL_EX                                              ~58
         97        DO_FCALL                                      0  $59     
         98        ASSIGN                                                   !9, $59
   29    99        INIT_FCALL_BY_NAME                                       'curl_close'
        100        SEND_VAR_EX                                              !7
        101        DO_FCALL                                      0          
   31   102        CONCAT                                           ~62     'HTTP+Code%3A+', !9
        103        CONCAT                                           ~63     ~62, '%0A'
        104        ECHO                                                     ~63
   32   105        CONCAT                                           ~64     'Response%3A++', !8
        106        CONCAT                                           ~65     ~64, '%0A'
        107        ECHO                                                     ~65
   33   108      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
163.51 ms | 1354 KiB | 19 Q