Encrypt using public key, decrypt using private key.
Use this to store stuff in your database: Unless someone
has your private key, the database contents are useless.
Also, use this for sending to a specific individual: Get
their public key, encrypt the message, only they can use
their private key to decode it.
<?php
echo "Source: $source";
$fp=fopen("/path/to/certificate.crt","r");
$pub_key=fread($fp,8192);
fclose($fp);
openssl_get_publickey($pub_key);
/*
* NOTE: Here you use the $pub_key value (converted, I guess)
*/
openssl_public_encrypt($source,$crypttext,$pub_key);
echo "String crypted: $crypttext";
$fp=fopen("/path/to/private.key","r");
$priv_key=fread($fp,8192);
fclose($fp);
// $passphrase is required if your key is encoded (suggested)
$res = openssl_get_privatekey($priv_key,$passphrase);
/*
* NOTE: Here you use the returned resource value
*/
openssl_private_decrypt($crypttext,$newsource,$res);
echo "String decrypt : $newsource";
?>
openssl_private_decrypt
(PHP 4 >= 4.0.6, PHP 5)
openssl_private_decrypt — Entschlüsselt Daten mit einem privaten Schlüssel
Beschreibung
openssl_private_decrypt() entschlüselt data , die zuvor mit openssl_public_encrypt() verschlüsselt wurden und speichert das Ergebnis in decrypted . key muss der private Schlüssel sein, der dem Schlüssel entspricht, mit dem die Daten verschlüsselt wurden. Für padding ist als Standard OPENSSL_PKCS1_PADDING gesetzt, aber Sie können auch OPENSSL_SSLV23_PADDING, OPENSSL_PKCS1_OAEP_PADDING oder OPENSSL_NO_PADDING verwenden.
Gibt bei Erfolg TRUE zurück, im Fehlerfall FALSE.
Zum Beispiel können Sie diese Funktion benutzen um Daten zu entschlüsseln, die nur für Sie perönlich bestimmt sind.
Siehe auch openssl_public_encrypt() und openssl_public_decrypt().
openssl_private_decrypt
08-Mar-2002 03:58
