PHP 5.6.0beta1 released

openssl_public_decrypt

(PHP 4 >= 4.0.6, PHP 5)

openssl_public_decryptEntschlüsselt Daten mit einem öffentlichen Schlüssel

Beschreibung

bool openssl_public_decrypt ( string $data , string &$decrypted , mixed $key [, int $padding ] )

openssl_public_decrypt() entschlüsselt data, die zuvor mit openssl_private_encrypt() verschlüsselt wurden und speichert das Ergebnis in decrypted.

Sie können diese Funktion beispielsweise verwenden um zu überprüfen, ob eine Nachricht wirklich vom Eigentümer des privaten Schlüssels geschrieben wurde.

Parameter-Liste

data

decrypted

key

key muss der öffentliche Schlüssel sein der mit dem privaten Schlüssel übereinstimmt mit dem die Daten verschlüsselt wurden.

padding

Für padding ist OPENSSL_PKCS1_PADDING voreingestellt, zulässig ist aber auch OPENSSL_NO_PADDING.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

add a note add a note

User Contributed Notes 2 notes

up
0
wfredkNOSPAM at L5DevelopmentNOSPAM dot com
12 years ago
Encrypt using private key, decrypt using public key.

Use this for posting signed messages:  Anyone with access to
your public key can read it, but they can't create one with
your signature.

<?php
echo "Source: $source";
$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_encrypt($source,$crypttext,$res);
echo
"String crypted: $crypttext";

$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_decrypt($crypttext,$newsource,$pub_key);
echo
"String decrypt : $newsource";
?>
up
-1
billnet at tiscalinet dot it
12 years ago
<?php
$fp
=fopen ("/path/to/certificato.pem");
$pub_key=fread ($fp,8192);
openssl_get_publickey ($pub_key);
openssl_public_decrypt ($source,$finaltext,$pub_key);
echo
"String decrypt : $finaltext";
?>
To Top