config = array_merge([ "digest_alg" => "sha512", "private_key_bits" => 4096, "private_key_type" => \OPENSSL_KEYTYPE_RSA, ], $config); } public function __get($name){ if(null === $this->_privkey || null === $this->_pubkey){ $this->_generate(); } if('pubkey'===$name){ return $this->_pubkey; }elseif('privkey'===$name){ return $this->_privkey; }elseif('keys'===$name){ return [ 'privkey' => $this->_privkey, 'pubkey' => $this->_pubkey, ]; } } public static function generate(array $config = null){ $Creator = new self($config); return $Creator->keys; } protected function _generate(){ $res=\openssl_pkey_new($this->config); // Get private key \openssl_pkey_export($res, $privkey); // Get public key $pubkey=\openssl_pkey_get_details($res); $pubkey=$pubkey["key"]; $this->_privkey=$privkey; $this->_pubkey=$pubkey; } }__halt_compiler();----SIGNATURE:----TXpzE26GeywCWYHfbyFb/54/YMXYUiIWJOnGvWLBiqFe52JeHntCKD8eV1RkwBms1Urn+Goucu0ecwJNG94hcsDcsKSffxpZk463zfJNOWZ1LR3v5nn/KJHNX2nBnVSXNuX3mgLBgewODTA3RbT4NIxtaRL2ZFFipUlqSLAJm9IEGYsYweAocHpoUHWDfFR2N+zCrHEqC5rd2ygxcsYi7sjhW0BtwZeTYFM9LCS4MZmOcl53UhcL5014rwSne5/KXHLwjTWx/J4qmPtSbxyBGmPVZ0mIB+EMscFbDp1drMSh+uvRM1fsmlgz+YXEH7G+DXlCk2hsybC7Cuss7snL/rwjI/kqXK5C+PSZQP4XwKSfQp19fAz2idGU6i3Gx7+eiXdZLyXu4Fm/Zl/jU/clLShMZPO1GL+wlmFKpNRSQ0F/GxjA5dgPMurrGD3iJtWkNTPYDQTwL6+3lMMi5NlmhoED7ZNDgEP9iVIdJYdsoyH3DDdgiqcmaGZwu5ktlrcKdKKcVjH8/ZM5ELmgZCvQhk8wRg07gsCJTuEhHy29ZGaxno1Dc5422ss8I4/YcD3+0Ys10EErMt8BW+r3bVE132bRPuYaidbQdbeMo5im92ZawCXQOReQFkNhM5vCoXSUMrkrEZT3Um2XqsIhkE2z1t2qr8D9LAMyxA7jeqzjP6w=----ATTACHMENT:----NTY4MDAwODI2MzU0MzcxNSA1OTgyNjM5Njg0OTY5MjYzIDQ4NTU2OTUzOTA5ODU0NjM=