openssl_public_decrypt

(PHP 4 >= 4.0.6, PHP 5)

openssl_public_decryptDesencripta información con la clave pública

Descripción

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

openssl_public_decrypt() desncripta la información data que fue previamente encriptada mediante openssl_private_encrypt() y almacena el resultado en decrypted.

Se puede usar esta función para, p.ej., verificar si el mensaje fur escrito por el propietario de la clave privada.

Parámetros

data

decrypted

key

key debe ser la clave pública que se corresponde con la usada para encriptar la información.

padding

padding puede ser OPENSSL_PKCS1_PADDING, OPENSSL_NO_PADDING.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ver también

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