3v4l.org

run code in 500+ PHP versions simultaneously
<?php $CLIENT_ID = "5372_dc3n7NvbHBApDwhEUEY5vq9fcaMSsYKnmYNMukC2"; $SECRET = "GFZtdbDOzxbA.ouvKX2ZGYoBL1Bi32cawWxalwL6kBDRZk8gPvZwNitAuROTJ9dl"; $nonce = rtrim(base64_encode(openssl_random_pseudo_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/ZpZdZ
function name:  (null)
number of ops:  94
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_BY_NAME                                       'openssl_random_pseudo_bytes'
          5        INIT_FCALL                                               'rand'
          6        SEND_VAL                                                 12
          7        SEND_VAL                                                 30
          8        DO_ICALL                                         $12     
          9        SEND_VAR_NO_REF_EX                                       $12
         10        DO_FCALL                                      0  $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
    6    17        INIT_FCALL                                               'gmdate'
         18        SEND_VAL                                                 'Y-m-d%5CTH%3Ai%3As%5CZ'
         19        DO_ICALL                                         $17     
         20        ASSIGN                                                   !3, $17
    7    21        CONCAT                                           ~19     !2, !3
         22        CONCAT                                           ~20     ~19, !0
         23        ASSIGN                                                   !4, ~20
    8    24        INIT_FCALL                                               'base64_encode'
         25        INIT_FCALL                                               'hash_hmac'
         26        SEND_VAL                                                 'sha256'
         27        SEND_VAR                                                 !4
         28        SEND_VAR                                                 !1
         29        SEND_VAL                                                 <true>
         30        DO_ICALL                                         $22     
         31        SEND_VAR                                                 $22
         32        DO_ICALL                                         $23     
         33        ASSIGN                                                   !5, $23
   11    34        CONCAT                                           ~25     'http%3A%2F%2Fapi.soaringspot.com%2Fv1%2Fhmac%2Fv1+ClientID%3D%22', !0
         35        CONCAT                                           ~26     ~25, '%22%2C+'
   12    36        CONCAT                                           ~27     ~26, 'Signature%3D%22'
         37        CONCAT                                           ~28     ~27, !5
         38        CONCAT                                           ~29     ~28, '%22%2C+'
   13    39        CONCAT                                           ~30     ~29, 'Nonce%3D%22'
         40        CONCAT                                           ~31     ~30, !2
         41        CONCAT                                           ~32     ~31, '%22%2C+'
   14    42        CONCAT                                           ~33     ~32, 'Created%3D%22'
         43        CONCAT                                           ~34     ~33, !3
         44        CONCAT                                           ~35     ~34, '%22'
   10    45        ASSIGN                                                   !6, ~35
   16    46        CONCAT                                           ~37     'Nonce%3A+++', !2
         47        CONCAT                                           ~38     ~37, '%0A'
         48        ECHO                                                     ~38
   17    49        CONCAT                                           ~39     'Created%3A+', !3
         50        CONCAT                                           ~40     ~39, '%0A'
         51        ECHO                                                     ~40
   18    52        CONCAT                                           ~41     'Auth%3A++++', !6
         53        CONCAT                                           ~42     ~41, '%0A%0A'
         54        ECHO                                                     ~42
   20    55        INIT_FCALL_BY_NAME                                       'curl_init'
         56        SEND_VAL_EX                                              'https%3A%2F%2Fapi.soaringspot.com%2Fv1%2Fcontests'
         57        DO_FCALL                                      0  $43     
         58        ASSIGN                                                   !7, $43
   21    59        INIT_FCALL_BY_NAME                                       'curl_setopt'
         60        SEND_VAR_EX                                              !7
         61        FETCH_CONSTANT                                   ~45     'CURLOPT_RETURNTRANSFER'
         62        SEND_VAL_EX                                              ~45
         63        SEND_VAL_EX                                              <true>
         64        DO_FCALL                                      0          
   22    65        INIT_FCALL_BY_NAME                                       'curl_setopt'
         66        SEND_VAR_EX                                              !7
         67        FETCH_CONSTANT                                   ~47     'CURLOPT_HTTPHEADER'
         68        SEND_VAL_EX                                              ~47
   23    69        CONCAT                                           ~48     'Authorization%3A+', !6
         70        INIT_ARRAY                                       ~49     ~48
   24    71        ADD_ARRAY_ELEMENT                                ~49     'Accept%3A+application%2Fhal%2Bjson'
         72        SEND_VAL_EX                                              ~49
   22    73        DO_FCALL                                      0          
   27    74        INIT_FCALL_BY_NAME                                       'curl_exec'
         75        SEND_VAR_EX                                              !7
         76        DO_FCALL                                      0  $51     
         77        ASSIGN                                                   !8, $51
   28    78        INIT_FCALL_BY_NAME                                       'curl_getinfo'
         79        SEND_VAR_EX                                              !7
         80        FETCH_CONSTANT                                   ~53     'CURLINFO_HTTP_CODE'
         81        SEND_VAL_EX                                              ~53
         82        DO_FCALL                                      0  $54     
         83        ASSIGN                                                   !9, $54
   29    84        INIT_FCALL_BY_NAME                                       'curl_close'
         85        SEND_VAR_EX                                              !7
         86        DO_FCALL                                      0          
   31    87        CONCAT                                           ~57     'HTTP+Code%3A+', !9
         88        CONCAT                                           ~58     ~57, '%0A'
         89        ECHO                                                     ~58
   32    90        CONCAT                                           ~59     'Response%3A++', !8
         91        CONCAT                                           ~60     ~59, '%0A'
         92        ECHO                                                     ~60
   33    93      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
171.45 ms | 1334 KiB | 18 Q