Here is a over simplified version of using the crypt capabilities for getting started:$res = openssl_pkey_new();// Get private keyopenssl_pkey_export($res, $privkey);// Get public key$pubkey = openssl_pkey_get_details($res);$pubkey = $pubkey["key"];var_dump($privkey);var_dump($pubkey);// get some text from command line to work with$tocrypt = trim(fgets(STDIN));// some variables to work with$encryptedviaprivatekey = ""; //holds text encrypted with the private key$decryptedviapublickey = ""; // holds text which was decrypted by the public key after being encrypted with the private key, should be same as $tocrypt$encryptedviapublickey = ""; // holds text that was encrypted with the public key$decryptedviaprivatekey = ""; // holds text that was decrypted with the private key after being encrypted with the public key, should be the same as $tocryptopenssl_private_encrypt($tocrypt, $encryptedviaprivatekey, $privkey);echo $tocrypt . "->" . $encryptedviaprivatekey;echo "\n\n";openssl_public_decrypt($encryptedviaprivatekey, $decryptedviapublickey, $pubkey);echo $encryptedviaprivatekey . "->" . $decryptedviapublickey;echo "\n\n";openssl_public_encrypt($tocrypt,$encryptedviapublickey, $pubkey);echo $tocrypt . "->" . $encryptedviapublickey;echo "\n\n";openssl_private_decrypt($encryptedviapublickey, $decryptedviaprivatekey, $privkey);echo $encryptedviapublickey . "->" . $decryptedviaprivatekey;Output:string(887) "-----BEGIN RSA PRIVATE KEY-----MIICXAIBAAKBgQCy745x8AqGKlTWBu2Ub80boPaQxo/midZ4LHZ0zbPpiCAfkADNVYSe8OckPKutdjPX7SNAx66PgQRH1xrz1gysbRrf8K/mA0LQ00MKBFaFottWt5cCIaUS9zvCgPw7prwng3hkGShnvTSMXiKFyt1E3RTvpXRk0u46D6hKiy+TSQIDAQABAoGBAJe1jjNCDtoz19vi4doBdIhhT8vt3iHbafBX2lMr+MceeAXqpRNy10+e9op9uh0G4+vGDialZnYbMBLs6Ngl+nVnzn+cN1MMJ18brgf3biZKzVzK9wmOW4eycWaR9eLa7/+ns8Cw5GsLJdG+OHR2gXRXU4hzUFdf90UUbP+kuqK1AkEA2X04XznFDNmTNuhyCixwinlziazJBp/81jjaBhYj3cG0nTF0Gactc/yD0yudbrMqjLBfts+FbG3ZyFHKrAB/cwJBANKetll3M3aCGsermEK+9hbB8yMihCju6pAwClUNkrAgrm9zU4LPWkC81RDzXbz+pfIqpopfn34F3+U2iMiOe1MCQCXpTgpLZ631v1Oy8S4U0QlSYnF9TQ16lfhBsL+e3GGrgnBkTniqS6IMQm5tC+RgFuqvU//p7LgZ7fydRVb2P0ECQFp9YADuKskmutTAj6lVnCtI5upYgQmJJHQQf8/tBfHwCKHPnbic17zqpGwk80go7CkwU98tmDuv0HMNTBVGygsCQALck7VNBRjL9iFzJMFis+alcP1ZC88wOLPvIxYbevUHc8rZwRqt1aHwaWOoxcVom+tyzRC6gEYoBarmU1bX4No=-----END RSA PRIVATE KEY-----"string(272) "-----BEGIN PUBLIC KEY-----MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCy745x8AqGKlTWBu2Ub80boPaQxo/midZ4LHZ0zbPpiCAfkADNVYSe8OckPKutdjPX7SNAx66PgQRH1xrz1gysbRrf8K/mA0LQ00MKBFaFottWt5cCIaUS9zvCgPw7prwng3hkGShnvTSMXiKFyt1E3RTvpXRk0u46D6hKiy+TSQIDAQAB-----END PUBLIC KEY-----"this is a test for crypting( ¦E@n¥u?7Fëµ¥+-M¼ìk?7¥;t?8[j¼ñrƒ¦ª-TÜ++ßYG?-úö¦}9+k8OJn_?¦x?¦dó+aév.cå?-ï`,¦?·5u¦p%Z²¤ÜI?û ¼( ¦E@n¥u?7Fëµ¥+-M¼ìk?7¥;t?8[j¼ñrƒ¦ª-TÜ++ßYG?-úö¦}9+k8OJn_?¦x?¦dó+aév.cå?-ï`,¦?·5u¦p%Z²¤ÜI?û ¼->this is a test for cryptingthis is a test for crypting->hT!¡_#+£-íßÿo»¢äSs+üSnäÖ-(¦ëIkl[¤¦=?í?Ç+Uy·N,=b=+¦TàmeNo¦A~ùÑtü¦@ÿ½»¦SV5Ѫ*¦?·UÿoPÖFq-? O{²¦á|,äIN)+_-öF+*¦{|??G-??£/?¬±"PFLhT!¡_#+£-íßÿo»¢äSs+üSnäÖ-(¦ëIkl[¤¦=?í?Ç+Uy·N,=b=+¦TàmeNo¦A~ùÑtü¦@ÿ½»¦SV5Ѫ*¦?·UÿoPÖFq-? O{²¦á|,äIN)+_-öF+*¦{|??G-??£/?¬±"PFL->this is a test for crypting