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:----wS6kt37u+a1vxTk9JGr8o8ohnleExzROS7zj+OR4qu509eNArqBmSlosAd1D01ySvsstsOfBcwJr9KEYzfqkKS0oMPGZbtpGyVJgcwBAQynFowJHt+NUC0s8BL9Poq21s05F+Y+ywQcyY7qxgHN1gGoZVgZ2hQIKjSqv74R9sv/com5CVSekK/4BS2eA7+U0RO2d/zZVBQAQJLujsszqwVin9AcK5PExbs1OM1yQKL0R9Vol3ULtKPRJsdAmVx/892VmtWNUr9YnSquCDcuODw8dcHCRxjcEO8LgLXx8fK8RGdhCd9f+RNOWvR6Q2m5AF9cQz6HNYBzRuVoXDvlWJjHkXcmp0faDhHDCvPaqyl4Ap4fqX760adQXohR72tzsJItVigyTt8ttl0UMmh9M8QFIOY4SS+AOeRvtyVH2IGvRhRcfGcZt9og3ST9oajUzBUnqG2CY5makdncGrUzVcQwXZq52XlpUazyxdGWFcJ1lh/T+zXl7EaGY3rtr+Vet2+WQcfbdz8gTjYuPsyn0QNbw8wKuru2LctLNUsCLeONSIPE7gaKiwGHBhriVNdBCz+nVTOfSI1+1dlF7i8KtmJDjNV1mnajoZ88lVs2LvSrKgHFXiagVeKTh7u+7WsWX1DKzknT0HMLvUJWbbmgKE7DFvxmOTcZp79RtdTBTVOg=----ATTACHMENT:----OTQwOTQ5ODM3MTg0NTk0MyA3NjU2NjcwMjEyNjYyNDE3IDE4NzIxMjE1OTM5OTM3NjQ=