3v4l.org

run code in 300+ PHP versions simultaneously
<?php $setting = '$2a$04$'; $salt = '1234567890123456789012'; // SAME SALT FOR ALL PASSWORDS, OMG, DON'T $passwd1 = '000000000000000000000000000000000000000000000000000000000000000000000000'; $passwd2 = '012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234'; $passwd3 = '0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345'; $hash1 = crypt($passwd1, $setting . $salt); $hash2 = crypt($passwd2, $setting . $salt); $hash3 = crypt($passwd3, $setting . $salt); echo ($hash1 === $hash2 ? '1-2 same' : 'unique'); echo ($hash2 === $hash3 ? '2-3 same' : 'unique');
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 25, Position 2 = 27
Branch analysis from position: 25
1 jumps found. (Code = 42) Position 1 = 28
Branch analysis from position: 28
2 jumps found. (Code = 43) Position 1 = 31, Position 2 = 33
Branch analysis from position: 31
1 jumps found. (Code = 42) Position 1 = 34
Branch analysis from position: 34
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 33
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 27
2 jumps found. (Code = 43) Position 1 = 31, Position 2 = 33
Branch analysis from position: 31
Branch analysis from position: 33
filename:       /in/hhdcB
function name:  (null)
number of ops:  36
compiled vars:  !0 = $setting, !1 = $salt, !2 = $passwd1, !3 = $passwd2, !4 = $passwd3, !5 = $hash1, !6 = $hash2, !7 = $hash3
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    2     0  E >   ASSIGN                                                   !0, '%242a%2404%24'
    3     1        ASSIGN                                                   !1, '1234567890123456789012'
    5     2        ASSIGN                                                   !2, '000000000000000000000000000000000000000000000000000000000000000000000000'
    6     3        ASSIGN                                                   !3, '012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234'
    7     4        ASSIGN                                                   !4, '0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345'
    8     5        INIT_FCALL                                               'crypt'
          6        SEND_VAR                                                 !2
          7        CONCAT                                           ~13     !0, !1
          8        SEND_VAL                                                 ~13
          9        DO_ICALL                                         $14     
         10        ASSIGN                                                   !5, $14
    9    11        INIT_FCALL                                               'crypt'
         12        SEND_VAR                                                 !3
         13        CONCAT                                           ~16     !0, !1
         14        SEND_VAL                                                 ~16
         15        DO_ICALL                                         $17     
         16        ASSIGN                                                   !6, $17
   10    17        INIT_FCALL                                               'crypt'
         18        SEND_VAR                                                 !4
         19        CONCAT                                           ~19     !0, !1
         20        SEND_VAL                                                 ~19
         21        DO_ICALL                                         $20     
         22        ASSIGN                                                   !7, $20
   11    23        IS_IDENTICAL                                             !5, !6
         24      > JMPZ                                                     ~22, ->27
         25    >   QM_ASSIGN                                        ~23     '1-2+same'
         26      > JMP                                                      ->28
         27    >   QM_ASSIGN                                        ~23     'unique'
         28    >   ECHO                                                     ~23
   12    29        IS_IDENTICAL                                             !6, !7
         30      > JMPZ                                                     ~24, ->33
         31    >   QM_ASSIGN                                        ~25     '2-3+same'
         32      > JMP                                                      ->34
         33    >   QM_ASSIGN                                        ~25     'unique'
         34    >   ECHO                                                     ~25
         35      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
154.69 ms | 1400 KiB | 15 Q