3v4l.org

run code in 300+ PHP versions simultaneously
<?php $publicKey = openssl_pkey_get_public(' -----BEGIN PUBLIC KEY----- MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA7o9A47JuO3wgZ/lbOIOs Xc6cVSiCMsrglvORM/54StFRvcrxMi7OjXD6FX5fQpUOQYZfIOFZZMs6kmNXk8xO hgTmdMJcBWolQ85acfAdWpTpCW29YMvXNARUDb8uJKAApsISnttyCnbvp7zYMdQm HiTG/+bYaegSXzV3YN+Ej+ZcocubUpLp8Rpzz+xmXep3BrjBycAE9z2IrrV2rlwg TTxU/B8xmvMsToBQpAbe+Cv130tEHsyW4UL9KZY1M9R+UHFPPmORjBKxSZvjJ1mS UbUYN6PmMry35wCaFCfQoyTDUxBfxTGYqjaveQv4sxx0uvoiLXHt9cAm5Q8KJ+8d FwIDAQAB -----END PUBLIC KEY----- '); $privateKey = openssl_pkey_get_private(' -----BEGIN RSA PRIVATE KEY----- MIIEpAIBAAKCAQEA7o9A47JuO3wgZ/lbOIOsXc6cVSiCMsrglvORM/54StFRvcrx Mi7OjXD6FX5fQpUOQYZfIOFZZMs6kmNXk8xOhgTmdMJcBWolQ85acfAdWpTpCW29 YMvXNARUDb8uJKAApsISnttyCnbvp7zYMdQmHiTG/+bYaegSXzV3YN+Ej+Zcocub UpLp8Rpzz+xmXep3BrjBycAE9z2IrrV2rlwgTTxU/B8xmvMsToBQpAbe+Cv130tE HsyW4UL9KZY1M9R+UHFPPmORjBKxSZvjJ1mSUbUYN6PmMry35wCaFCfQoyTDUxBf xTGYqjaveQv4sxx0uvoiLXHt9cAm5Q8KJ+8dFwIDAQABAoIBAHkWS3iHy/3zjjtY TV4NL8NZqO5splGDuqXEMbKzenl3b8cnKHAxY/RVIQsh3tZb9CV8P/Lfj1Fi+nLt a7mAXWcXO6aONMkmzI1zQ2NL3opoxTRc+GAWd0BW5hcoMBK1CD+ciHkLqAH5xsFc UFxSc5qfTkb79GMlQZYD/Hk2WwHyj7hAkyxip4ye1EOnH5h8H7vIUjwp+H6Rmt5w FTiVJbokhzwiczChUJVWgnowegL/qFV+yNfHGGKqVdIQfKdCsHR6jAuKCww5QniN qDEi/M2Az0R4qfVmf38uMvOJTWaxp08JV4qRyNdh6hhbj+nY1EZ8haOiC7tjz2mJ XqqKQfkCgYEA95yb5ezTBF4Pbr589OnU6VFdM88BCrKKvSWE8D1fzZZTsXur5k/x cOwfio4RkmJwMnjuzZN6nvL5QddfcmPWQAoepHR8eA9yhIz57YWgrqE9ZXI8DgMy SFuy5EkV5vudjDIr7kBXaGuUh3ErZfglyrV/rUfydGdTWyY8phMq/6MCgYEA9qQj 7kb5uyU8nrXoDqKPpy6ijEpVilgy4VR7RuB2vMh74wKI1QQYED+PxfcHe5RP8WGF Bl+7VnmrGka4xJWeN7GKW4GRx5gRAzg139DXkqwPlXyM3ZR3pLd8wtbxTmJrcPby A6uNRhGPpuyhDs5hx9z6HvLoCs+O0A9gDaChM/0CgYEAycRguNPpA2cOFkS8l+mu p8y4MM5eX/Qq34QiNo0ccu8rFbXb1lmQOV7/OK0Znnn+SPKITRX+1mTRPZidWx4F aLuWSpXtEvwrad1ijuzTiVk0KWUTkKuEHrgyJplzcnvX3nTHnWXqk9kN9+v83CN/ 0BVji7TT2YyUvPKEeyOlZxcCgYABFm42Icf+JEblKEYyslLR2OnMlpNT/dmTlszI XjsH0BaDxMIXtmHoyG7434L/74J+vQBaK9fmpLi1b/RmoYZGFplWl/atm6UPj5Ll PsWElw+miBsS6xGv/0MklNARmWuB3wToMTx5P6CTit2W9CAIQpgzxLxzN8EYd8jj pn6vfQKBgQCHkDnpoNZc2m1JksDiuiRjZORKMYz8he8seoUMPQ+iQze66XSRp5JL oGZrU7JzCxuyoeA/4z36UN5WXmeS3bqh6SinrPQKt7rMkK1NQYcDUijPBMt0afO+ LH0HIC1HAtS6Wztd2Taoqwe5Xm75YW0elo4OEqiAfubAC85Ec4zfxw== -----END RSA PRIVATE KEY----- '); for ($size = 213; $size < 217; ++$size) { $message = random_bytes($size); $ciphertext = ''; $plaintext = ''; openssl_public_encrypt($message, $ciphertext, $publicKey, OPENSSL_PKCS1_OAEP_PADDING); openssl_private_decrypt($ciphertext, $plaintext, $privateKey, OPENSSL_PKCS1_OAEP_PADDING); var_dump([$size => $message === $plaintext]); }
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 42) Position 1 = 36
Branch analysis from position: 36
2 jumps found. (Code = 44) Position 1 = 38, Position 2 = 10
Branch analysis from position: 38
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 10
2 jumps found. (Code = 44) Position 1 = 38, Position 2 = 10
Branch analysis from position: 38
Branch analysis from position: 10
filename:       /in/EJ0kb
function name:  (null)
number of ops:  39
compiled vars:  !0 = $publicKey, !1 = $privateKey, !2 = $size, !3 = $message, !4 = $ciphertext, !5 = $plaintext
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    3     0  E >   INIT_FCALL_BY_NAME                                       'openssl_pkey_get_public'
          1        SEND_VAL_EX                                              '%0A-----BEGIN+PUBLIC+KEY-----%0AMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA7o9A47JuO3wgZ%2FlbOIOs%0AXc6cVSiCMsrglvORM%2F54StFRvcrxMi7OjXD6FX5fQpUOQYZfIOFZZMs6kmNXk8xO%0AhgTmdMJcBWolQ85acfAdWpTpCW29YMvXNARUDb8uJKAApsISnttyCnbvp7zYMdQm%0AHiTG%2F%2BbYaegSXzV3YN%2BEj%2BZcocubUpLp8Rpzz%2BxmXep3BrjBycAE9z2IrrV2rlwg%0ATTxU%2FB8xmvMsToBQpAbe%2BCv130tEHsyW4UL9KZY1M9R%2BUHFPPmORjBKxSZvjJ1mS%0AUbUYN6PmMry35wCaFCfQoyTDUxBfxTGYqjaveQv4sxx0uvoiLXHt9cAm5Q8KJ%2B8d%0AFwIDAQAB%0A-----END+PUBLIC+KEY-----%0A'
          2        DO_FCALL                                      0  $6      
          3        ASSIGN                                                   !0, $6
   15     4        INIT_FCALL_BY_NAME                                       'openssl_pkey_get_private'
          5        SEND_VAL_EX                                              '%0A-----BEGIN+RSA+PRIVATE+KEY-----%0AMIIEpAIBAAKCAQEA7o9A47JuO3wgZ%2FlbOIOsXc6cVSiCMsrglvORM%2F54StFRvcrx%0AMi7OjXD6FX5fQpUOQYZfIOFZZMs6kmNXk8xOhgTmdMJcBWolQ85acfAdWpTpCW29%0AYMvXNARUDb8uJKAApsISnttyCnbvp7zYMdQmHiTG%2F%2BbYaegSXzV3YN%2BEj%2BZcocub%0AUpLp8Rpzz%2BxmXep3BrjBycAE9z2IrrV2rlwgTTxU%2FB8xmvMsToBQpAbe%2BCv130tE%0AHsyW4UL9KZY1M9R%2BUHFPPmORjBKxSZvjJ1mSUbUYN6PmMry35wCaFCfQoyTDUxBf%0AxTGYqjaveQv4sxx0uvoiLXHt9cAm5Q8KJ%2B8dFwIDAQABAoIBAHkWS3iHy%2F3zjjtY%0ATV4NL8NZqO5splGDuqXEMbKzenl3b8cnKHAxY%2FRVIQsh3tZb9CV8P%2FLfj1Fi%2BnLt%0Aa7mAXWcXO6aONMkmzI1zQ2NL3opoxTRc%2BGAWd0BW5hcoMBK1CD%2BciHkLqAH5xsFc%0AUFxSc5qfTkb79GMlQZYD%2FHk2WwHyj7hAkyxip4ye1EOnH5h8H7vIUjwp%2BH6Rmt5w%0AFTiVJbokhzwiczChUJVWgnowegL%2FqFV%2ByNfHGGKqVdIQfKdCsHR6jAuKCww5QniN%0AqDEi%2FM2Az0R4qfVmf38uMvOJTWaxp08JV4qRyNdh6hhbj%2BnY1EZ8haOiC7tjz2mJ%0AXqqKQfkCgYEA95yb5ezTBF4Pbr589OnU6VFdM88BCrKKvSWE8D1fzZZTsXur5k%2Fx%0AcOwfio4RkmJwMnjuzZN6nvL5QddfcmPWQAoepHR8eA9yhIz57YWgrqE9ZXI8DgMy%0ASFuy5EkV5vudjDIr7kBXaGuUh3ErZfglyrV%2FrUfydGdTWyY8phMq%2F6MCgYEA9qQj%0A7kb5uyU8nrXoDqKPpy6ijEpVilgy4VR7RuB2vMh74wKI1QQYED%2BPxfcHe5RP8WGF%0ABl%2B7VnmrGka4xJWeN7GKW4GRx5gRAzg139DXkqwPlXyM3ZR3pLd8wtbxTmJrcPby%0AA6uNRhGPpuyhDs5hx9z6HvLoCs%2BO0A9gDaChM%2F0CgYEAycRguNPpA2cOFkS8l%2Bmu%0Ap8y4MM5eX%2FQq34QiNo0ccu8rFbXb1lmQOV7%2FOK0Znnn%2BSPKITRX%2B1mTRPZidWx4F%0AaLuWSpXtEvwrad1ijuzTiVk0KWUTkKuEHrgyJplzcnvX3nTHnWXqk9kN9%2Bv83CN%2F%0A0BVji7TT2YyUvPKEeyOlZxcCgYABFm42Icf%2BJEblKEYyslLR2OnMlpNT%2FdmTlszI%0AXjsH0BaDxMIXtmHoyG7434L%2F74J%2BvQBaK9fmpLi1b%2FRmoYZGFplWl%2Fatm6UPj5Ll%0APsWElw%2BmiBsS6xGv%2F0MklNARmWuB3wToMTx5P6CTit2W9CAIQpgzxLxzN8EYd8jj%0Apn6vfQKBgQCHkDnpoNZc2m1JksDiuiRjZORKMYz8he8seoUMPQ%2BiQze66XSRp5JL%0AoGZrU7JzCxuyoeA%2F4z36UN5WXmeS3bqh6SinrPQKt7rMkK1NQYcDUijPBMt0afO%2B%0ALH0HIC1HAtS6Wztd2Taoqwe5Xm75YW0elo4OEqiAfubAC85Ec4zfxw%3D%3D%0A-----END+RSA+PRIVATE+KEY-----%0A'
          6        DO_FCALL                                      0  $8      
          7        ASSIGN                                                   !1, $8
   45     8        ASSIGN                                                   !2, 213
          9      > JMP                                                      ->36
   46    10    >   INIT_FCALL                                               'random_bytes'
         11        SEND_VAR                                                 !2
         12        DO_ICALL                                         $11     
         13        ASSIGN                                                   !3, $11
   47    14        ASSIGN                                                   !4, ''
   48    15        ASSIGN                                                   !5, ''
   49    16        INIT_FCALL_BY_NAME                                       'openssl_public_encrypt'
         17        SEND_VAR_EX                                              !3
         18        SEND_VAR_EX                                              !4
         19        SEND_VAR_EX                                              !0
         20        FETCH_CONSTANT                                   ~15     'OPENSSL_PKCS1_OAEP_PADDING'
         21        SEND_VAL_EX                                              ~15
         22        DO_FCALL                                      0          
   50    23        INIT_FCALL_BY_NAME                                       'openssl_private_decrypt'
         24        SEND_VAR_EX                                              !4
         25        SEND_VAR_EX                                              !5
         26        SEND_VAR_EX                                              !1
         27        FETCH_CONSTANT                                   ~17     'OPENSSL_PKCS1_OAEP_PADDING'
         28        SEND_VAL_EX                                              ~17
         29        DO_FCALL                                      0          
   52    30        INIT_FCALL                                               'var_dump'
         31        IS_IDENTICAL                                     ~19     !3, !5
         32        INIT_ARRAY                                       ~20     ~19, !2
         33        SEND_VAL                                                 ~20
         34        DO_ICALL                                                 
   45    35        PRE_INC                                                  !2
         36    >   IS_SMALLER                                               !2, 217
         37      > JMPNZ                                                    ~23, ->10
   53    38    > > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
143.43 ms | 1011 KiB | 15 Q