Note that there are some explanatory texts on larger screens.

plurals
  1. POA good example using RSA in php
    text
    copied!<p>I'm trying to figure out a way to use RSA in php.</p> <p>I've generated public and private keys with </p> <pre><code>ssh-keygen -t rsa </code></pre> <p>And now I'm trying to use those from my php code. Here's the code I'm using:</p> <pre><code>&lt;?php $string=$_GET["i"]; //$fp=fopen ("public.pem","r"); $pub_key='ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAtTLDrnS+MyPb/MGHzgcS90DgaoPiDNattlL0Xo7keAjfqz5/yCXU0L8ilkAWIwME5DdXK04MskRtupYPwxPGB4Y7bG/4wvArx5FEgDSq6FUMNvQZ/Vqj13uvcjadLctC2ypAUPRo39qO1IGLEDEWNOS49UgLxzfnr1dZF/Ox5m5UjhOjsALcTiv4eR6ClGcCrAHE7Jp5nL2BwVu46nx3eFlpe7cljQVUOQDgUa5yWaRoJE6qcYgQu1TDo6b/pcAWU1WVu+HzJY4g0aoV2VqamCnl3oyWoPz7ykvxbJbHv7/qTbV+IBNzSx4R7KSppvnPKsrbeiWROvZ4JF84leX+Iw== root@ip-10-83-11-72'; //fclose($fp); $PK=""; $PK=openssl_get_publickey($pub_key); if (!$PK) { echo "Cannot get public key"; echo $pub_key; } $finaltext=""; openssl_public_encrypt($string,$finaltext,$PK); if (!empty($finaltext)) { openssl_free_key($PK); echo "Encryption OK!"; echo $finaltext; echo "&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;"; }else{ echo "Cannot Encrypt"; } // STEP 2: Decription (Using Private Key) //$fp=fopen ("private.pem","r"); $priv_key2='-----BEGIN RSA PRIVATE KEY----- MIIEoAIBAAKCAQEAtTLDrnS+MyPb/MGHzgcS90DgaoPiDNattlL0Xo7keAjfqz5/ yCXU0L8ilkAWIwME5DdXK04MskRtupYPwxPGB4Y7bG/4wvArx5FEgDSq6FUMNvQZ /Vqj13uvcjadLctC2ypAUPRo39qO1IGLEDEWNOS49UgLxzfnr1dZF/Ox5m5UjhOj sALcTiv4eR6ClGcCrAHE7Jp5nL2BwVu46nx3eFlpe7cljQVUOQDgUa5yWaRoJE6q cYgQu1TDo6b/pcAWU1WVu+HzJY4g0aoV2VqamCnl3oyWoPz7ykvxbJbHv7/qTbV+ IBNzSx4R7KSppvnPKsrbeiWROvZ4JF84leX+IwIBIwKCAQAparBiY9Oz6vB0SX4g dqU/1FCNX/kngYbKlp5Bf78xYR0udK9+NIhqOlEMZmt1t4wW6BPspCAovy8GE6vU 0VHV1Yns5mS+189+EpNQgREfKWHgrNK9kQ+Btd71iNN4LnWucA6zaxCoMfTC28gD s3LKQuhylB/zBXbI/gW8VPV2fzvFd35iA6QqNKWbjkaRd2y0TOv+RAcnCrYFwV5O LscgjUNS2Hk8dlyXoneB8SqxiFzrXgSTihUelsoPQCj7mZLZ87UFF6sLU85gxoNT tw0VoKD3Ve4poDEkWH28v39MCA/ZOPtNu68oimgVxRWyswvr2X9UvQ8joy2QaQZs 0mRLAoGBAN+dc6J8BgzmCr1yUQejU9nPAIFseH0Y+Jd/kHMV0CcSTnJwEak+6H5x aTVQVNVMxdBd3xLG6GLYUWz01ptj3ubkO3qisqeVWvXhp7thHBaj640jV33jUY8p eSrYVqPTDXGb+Jq56Tu0y+9sZeqXJBDeu2vLi7wlK2iAjQ9GHHYdAoGBAM9wtThH LOEveuZ+PwY0qK1IMLsHuF049g3onUk+n6k3oPCBMmnllwCwMOAo2oJEKgFAtEOl I5F9L6KsF7D1IUz1j+Mi578+pIQIndvp/aq1n5iBHSbHjpWhz6B6elcADzNbY5fy FRlE9JshAIAiBmokN+Kb3rLZ4ShMBq0zsRE/AoGAOYBCTlpn9LAupb5PWbxIwvq2 /LV+EYoUCbMWg/5Ld8Lg+Nr9OiYehun2e2xtle8rjVn3iHxKYo9lZSkD/BJd45nG JtlhI8dR53SKN39e/oHsHPp1lWZWzQqqIPXNIs/e4rMUCoeTvuVZAw0+x0tvrJEL n2A53+xM/Z1mGd7UHl8CgYARx9UE0uaW9XDvL2R83/EzbJZ2bmBCgTmpa7W10irx P0hPIQRSOEAkoWNGaebX9zbM6En3K2ly3tgyg8eEMkSu0zg4Ck5g2XvQzYnfpleS ShT+cXeG+yl6ijZeNmJB+LDYhC0bpwkfbE97AtQoPW5DnLRVQI9uanJiiix1PvHr iQKBgBj/RiXsDHvVJ28xZPUffZntrAD/TWXMHZWVMFgfsf8Ti0O7ypXqY43+Aoph nfDH6xJFqU9azsiv5xQVY7X1h4+DuOamqdawIV5LtYod+ip0dxduQMfrqLld/p0m E+jAaxvC4b6zqomFnZ9MB9eAzUg9i8UQkc4H3cH/bO6MKPG3 -----END RSA PRIVATE KEY----- ';//fread ($fp,8192); //fclose($fp); $PK2=openssl_get_privatekey($priv_key2); $Crypted=openssl_private_decrypt($Data,$Decrypted,$PK2); if (!$Crypted) { $MSG.="&lt;p class='error'&gt;Cannot Decrypt ($CCID).&lt;/p&gt;"; }else{ echo "Decrypted Data: " . $Decrypted; } </code></pre> <p>At the end, the app crashes with:</p> <pre><code>Cannot get public key Warning: openssl_public_encrypt() [function.openssl-public-encrypt]: key parameter is not a valid public key in /home/menkaur/public_html/iathao.com/bookmarks/lcn.php on line 13 Cannot Encrypt </code></pre> <p>what am I doing wrong?</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload