3v4l.org

run code in 300+ PHP versions simultaneously
<?php $private_key = '-----BEGIN RSA PRIVATE KEY----- MIICXQIBAAKBgQC3//sR2tXw0wrC2DySx8vNGlqt3Y7ldU9+LBLI6e1KS5lfc5jl TGF7KBTSkCHBM3ouEHWqp1ZJ85iJe59aF5gIB2klBd6h4wrbbHA2XE1sq21ykja/ Gqx7/IRia3zQfxGv/qEkyGOx+XALVoOlZqDwh76o2n1vP1D+tD3amHsK7QIDAQAB AoGBAKH14bMitESqD4PYwODWmy7rrrvyFPEnJJTECLjvKB7IkrVxVDkp1XiJnGKH 2h5syHQ5qslPSGYJ1M/XkDnGINwaLVHVD3BoKKgKg1bZn7ao5pXT+herqxaVwWs6 ga63yVSIC8jcODxiuvxJnUMQRLaqoF6aUb/2VWc2T5MDmxLhAkEA3pwGpvXgLiWL 3h7QLYZLrLrbFRuRN4CYl4UYaAKokkAvZly04Glle8ycgOc2DzL4eiL4l/+x/gaq deJU/cHLRQJBANOZY0mEoVkwhU4bScSdnfM6usQowYBEwHYYh/OTv1a3SqcCE1f+ qbAclCqeNiHajCcDmgYJ53LfIgyv0wCS54kCQAXaPkaHclRkQlAdqUV5IWYyJ25f oiq+Y8SgCCs73qixrU1YpJy9yKA/meG9smsl4Oh9IOIGI+zUygh9YdSmEq0CQQC2 4G3IP2G3lNDRdZIm5NZ7PfnmyRabxk/UgVUWdk47IwTZHFkdhxKfC8QepUhBsAHL QjifGXY4eJKUBm3FpDGJAkAFwUxYssiJjvrHwnHFbg0rFkvvY63OSmnRxiL4X6EY yI9lblCsyfpl25l7l5zmJrAHn45zAiOoBrWqpM5edu7c -----END RSA PRIVATE KEY-----'; $public_key = '-----BEGIN PUBLIC KEY----- MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC3//sR2tXw0wrC2DySx8vNGlqt 3Y7ldU9+LBLI6e1KS5lfc5jlTGF7KBTSkCHBM3ouEHWqp1ZJ85iJe59aF5gIB2kl Bd6h4wrbbHA2XE1sq21ykja/Gqx7/IRia3zQfxGv/qEkyGOx+XALVoOlZqDwh76o 2n1vP1D+tD3amHsK7QIDAQAB -----END PUBLIC KEY-----'; //echo $private_key; $pi_key = openssl_pkey_get_private($private_key);//这个函数可用来判断私钥是否是可用的,可用返回资源id Resource id $pu_key = openssl_pkey_get_public($public_key);//这个函数可用来判断公钥是否是可用的 print_r($pi_key);echo "\n"; print_r($pu_key);echo "\n"; $data = "aassssasssddd";//原始数据 $encrypted = ""; $decrypted = ""; echo "source data:",$data,"\n"; echo "private key encrypt:\n"; openssl_private_encrypt($data,$encrypted,$pi_key);//私钥加密 $encrypted = base64_encode($encrypted); echo $encrypted,"\n"; echo "public key decrypt:\n"; openssl_public_decrypt(base64_decode($encrypted),$decrypted,$pu_key);//私钥加密的内容通过公钥可用解密出来 echo $decrypted,"\n"; echo "---------------------------------------\n"; echo "public key encrypt:\n";
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/OQ0sl
function name:  (null)
number of ops:  50
compiled vars:  !0 = $private_key, !1 = $public_key, !2 = $pi_key, !3 = $pu_key, !4 = $data, !5 = $encrypted, !6 = $decrypted
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    2     0  E >   ASSIGN                                                   !0, '-----BEGIN+RSA+PRIVATE+KEY-----++%0A++++MIICXQIBAAKBgQC3%2F%2FsR2tXw0wrC2DySx8vNGlqt3Y7ldU9%2BLBLI6e1KS5lfc5jl++%0A++++TGF7KBTSkCHBM3ouEHWqp1ZJ85iJe59aF5gIB2klBd6h4wrbbHA2XE1sq21ykja%2F++%0A++++Gqx7%2FIRia3zQfxGv%2FqEkyGOx%2BXALVoOlZqDwh76o2n1vP1D%2BtD3amHsK7QIDAQAB++%0A++++AoGBAKH14bMitESqD4PYwODWmy7rrrvyFPEnJJTECLjvKB7IkrVxVDkp1XiJnGKH++%0A++++2h5syHQ5qslPSGYJ1M%2FXkDnGINwaLVHVD3BoKKgKg1bZn7ao5pXT%2BherqxaVwWs6++%0A++++ga63yVSIC8jcODxiuvxJnUMQRLaqoF6aUb%2F2VWc2T5MDmxLhAkEA3pwGpvXgLiWL++%0A++++3h7QLYZLrLrbFRuRN4CYl4UYaAKokkAvZly04Glle8ycgOc2DzL4eiL4l%2F%2Bx%2Fgaq++%0A++++deJU%2FcHLRQJBANOZY0mEoVkwhU4bScSdnfM6usQowYBEwHYYh%2FOTv1a3SqcCE1f%2B++%0A++++qbAclCqeNiHajCcDmgYJ53LfIgyv0wCS54kCQAXaPkaHclRkQlAdqUV5IWYyJ25f++%0A++++oiq%2BY8SgCCs73qixrU1YpJy9yKA%2FmeG9smsl4Oh9IOIGI%2BzUygh9YdSmEq0CQQC2++%0A++++4G3IP2G3lNDRdZIm5NZ7PfnmyRabxk%2FUgVUWdk47IwTZHFkdhxKfC8QepUhBsAHL++%0A++++QjifGXY4eJKUBm3FpDGJAkAFwUxYssiJjvrHwnHFbg0rFkvvY63OSmnRxiL4X6EY++%0A++++yI9lblCsyfpl25l7l5zmJrAHn45zAiOoBrWqpM5edu7c++%0A++++-----END+RSA+PRIVATE+KEY-----'
   18     1        ASSIGN                                                   !1, '-----BEGIN+PUBLIC+KEY-----++%0A++++MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC3%2F%2FsR2tXw0wrC2DySx8vNGlqt++%0A++++3Y7ldU9%2BLBLI6e1KS5lfc5jlTGF7KBTSkCHBM3ouEHWqp1ZJ85iJe59aF5gIB2kl++%0A++++Bd6h4wrbbHA2XE1sq21ykja%2FGqx7%2FIRia3zQfxGv%2FqEkyGOx%2BXALVoOlZqDwh76o++%0A++++2n1vP1D%2BtD3amHsK7QIDAQAB++%0A++++-----END+PUBLIC+KEY-----'
   26     2        INIT_FCALL_BY_NAME                                       'openssl_pkey_get_private'
          3        SEND_VAR_EX                                              !0
          4        DO_FCALL                                      0  $9      
          5        ASSIGN                                                   !2, $9
   27     6        INIT_FCALL_BY_NAME                                       'openssl_pkey_get_public'
          7        SEND_VAR_EX                                              !1
          8        DO_FCALL                                      0  $11     
          9        ASSIGN                                                   !3, $11
   28    10        INIT_FCALL                                               'print_r'
         11        SEND_VAR                                                 !2
         12        DO_ICALL                                                 
         13        ECHO                                                     '%0A'
   29    14        INIT_FCALL                                               'print_r'
         15        SEND_VAR                                                 !3
         16        DO_ICALL                                                 
         17        ECHO                                                     '%0A'
   32    18        ASSIGN                                                   !4, 'aassssasssddd'
   33    19        ASSIGN                                                   !5, ''
   34    20        ASSIGN                                                   !6, ''
   36    21        ECHO                                                     'source+data%3A'
         22        ECHO                                                     !4
         23        ECHO                                                     '%0A'
   38    24        ECHO                                                     'private+key+encrypt%3A%0A'
   40    25        INIT_FCALL_BY_NAME                                       'openssl_private_encrypt'
         26        SEND_VAR_EX                                              !4
         27        SEND_VAR_EX                                              !5
         28        SEND_VAR_EX                                              !2
         29        DO_FCALL                                      0          
   41    30        INIT_FCALL                                               'base64_encode'
         31        SEND_VAR                                                 !5
         32        DO_ICALL                                         $19     
         33        ASSIGN                                                   !5, $19
   42    34        ECHO                                                     !5
         35        ECHO                                                     '%0A'
   44    36        ECHO                                                     'public+key+decrypt%3A%0A'
   46    37        INIT_FCALL_BY_NAME                                       'openssl_public_decrypt'
         38        INIT_FCALL                                               'base64_decode'
         39        SEND_VAR                                                 !5
         40        DO_ICALL                                         $21     
         41        SEND_VAR_NO_REF_EX                                       $21
         42        SEND_VAR_EX                                              !6
         43        SEND_VAR_EX                                              !3
         44        DO_FCALL                                      0          
   47    45        ECHO                                                     !6
         46        ECHO                                                     '%0A'
   49    47        ECHO                                                     '---------------------------------------%0A'
   50    48        ECHO                                                     'public+key+encrypt%3A%0A'
         49      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
154.57 ms | 1017 KiB | 16 Q