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:----ML4HwNByQKU551ryOOz/xRhKdNMKtJZUE2CpLxpYVLpJeNXdmggduBu+KNW5NhXVsxaG5yFDVXtjeuUKnMaGs9cuPu6J068s4849BFO43hd6tbCFRpATpqeL2J7jLxwAhflRYv6mIRIkq1Owkaf0us0A47YEZhK+3Np7aOCFD/LZ6123A83JWPqjxf0gXVvS2EwveGfpxZ2npVqPi69QT2f+bHFYwVPSxQ1FS6QfdBiiYR8Iigq4IRV1P5+Zy4xFbAbKjk1tyNRy1folxj23So+9kgn2KP91vAbEBHRtBthFpeyEkIUwoZoauWWusXcZyf2vS0TqDIf4OhLCDovLw5xUhKWiNGd/BpnHbgCRnFjA6SRb7JoyvWsayhv6p+zTxAhMV61GawUsdiUayf/StVfZezr2UZyvh9WC7sRZNatBT0WEBgtWdZGfCXVZkT+/IDroMsd+Q2OZLJo/ZJWjf4IVRH2ORbMasRLlYMhIN08FkuU3G8PlDa2KutMH1pjyW3HnvOKbQGTNg1NbD1vkgiBcWqaOm6B1cz1gX3Y+IomK7+Cmlm8qnSqigYsGpxXU2qLL1bvvGXoVWS2VPixMevmhFKb08JZ1LWINfxYHdDkbeWyguQV3eVye574WDLvG6cWS/JvtwfNttdoRgAbKu/8+hHy0HStep/fkPkaNSSk=----ATTACHMENT:----NzU3NTQ1ODY5MjQ3NDQwMyA2OTQyNjAxMzYyMTk5NjcgNTY4NDUxNzQzMDA1Mjg3NQ==