3v4l.org

run code in 300+ PHP versions simultaneously
<?php $uri = "https://eventhubs-objenious.servicebus.windows.net/"; $sasKeyName = "RootManageSharedAccessKey"; $sasKeyValue = "hCakpdhbId7iFnlCx40RGwo0AD2uxwVFXK7VE6m1kjc="; $targetUri = strtolower(rawurlencode(strtolower($uri))); $expires = time(); $expiresInMins = 60; $week = 60*60*24*7; $expires = $expires + $week; $toSign = $targetUri . "\n" . $expires; $signature = base64_encode(hash_hmac('sha256', $toSign, $sasKeyValue, TRUE)); $token = "SharedAccessSignature sr=" . $targetUri . "&sig=" . $signature . "&se=" . $expires . "&skn=" . $sasKeyName; echo $token;
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/3E2Xg
function name:  (null)
number of ops:  43
compiled vars:  !0 = $uri, !1 = $sasKeyName, !2 = $sasKeyValue, !3 = $targetUri, !4 = $expires, !5 = $expiresInMins, !6 = $week, !7 = $toSign, !8 = $signature, !9 = $token
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    3     0  E >   ASSIGN                                                   !0, 'https%3A%2F%2Feventhubs-objenious.servicebus.windows.net%2F'
    4     1        ASSIGN                                                   !1, 'RootManageSharedAccessKey'
    5     2        ASSIGN                                                   !2, 'hCakpdhbId7iFnlCx40RGwo0AD2uxwVFXK7VE6m1kjc%3D'
    8     3        INIT_FCALL                                               'strtolower'
          4        INIT_FCALL                                               'rawurlencode'
          5        INIT_FCALL                                               'strtolower'
          6        SEND_VAR                                                 !0
          7        DO_ICALL                                         $13     
          8        SEND_VAR                                                 $13
          9        DO_ICALL                                         $14     
         10        SEND_VAR                                                 $14
         11        DO_ICALL                                         $15     
         12        ASSIGN                                                   !3, $15
    9    13        INIT_FCALL                                               'time'
         14        DO_ICALL                                         $17     
         15        ASSIGN                                                   !4, $17
   10    16        ASSIGN                                                   !5, 60
   11    17        ASSIGN                                                   !6, 604800
   12    18        ADD                                              ~21     !4, !6
         19        ASSIGN                                                   !4, ~21
   13    20        CONCAT                                           ~23     !3, '%0A'
         21        CONCAT                                           ~24     ~23, !4
         22        ASSIGN                                                   !7, ~24
   14    23        INIT_FCALL                                               'base64_encode'
         24        INIT_FCALL                                               'hash_hmac'
         25        SEND_VAL                                                 'sha256'
   15    26        SEND_VAR                                                 !7
         27        SEND_VAR                                                 !2
         28        SEND_VAL                                                 <true>
         29        DO_ICALL                                         $26     
         30        SEND_VAR                                                 $26
         31        DO_ICALL                                         $27     
   14    32        ASSIGN                                                   !8, $27
   17    33        CONCAT                                           ~29     'SharedAccessSignature+sr%3D', !3
         34        CONCAT                                           ~30     ~29, '%26sig%3D'
         35        CONCAT                                           ~31     ~30, !8
         36        CONCAT                                           ~32     ~31, '%26se%3D'
         37        CONCAT                                           ~33     ~32, !4
         38        CONCAT                                           ~34     ~33, '%26skn%3D'
         39        CONCAT                                           ~35     ~34, !1
         40        ASSIGN                                                   !9, ~35
   19    41        ECHO                                                     !9
         42      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
146.96 ms | 1400 KiB | 23 Q