文字

openssl_private_decrypt

(PHP 4 >= 4.0.6, PHP 5)

openssl_private_decryptDecrypts data with private key

说明

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

openssl_private_decrypt() decrypts data that was previous encrypted via openssl_public_encrypt() and stores the result into decrypted.

You can use this function e.g. to decrypt data which were supposed only to you.

参数

data

decrypted

key

key must be the private key corresponding that was used to encrypt the data.

padding

padding can be one of OPENSSL_PKCS1_PADDING , OPENSSL_SSLV23_PADDING , OPENSSL_PKCS1_OAEP_PADDING , OPENSSL_NO_PADDING .

返回值

成功时返回 TRUE , 或者在失败时返回 FALSE

参见

  • openssl_public_encrypt() - Encrypts data with public key
  • openssl_public_decrypt() - Decrypts data with public key

用户评论:

[#1] tjusongchao at gmail dot com [2015-04-08 10:45:14]

of course you have to add the openssl extension to you php environment.

[#2] wfredkNOSPAM at L5DevelopmentNOSPAM dot com [2002-03-08 15:58:44]

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);

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);

openssl_private_decrypt($crypttext,$newsource,$res);
echo 
"String decrypt : $newsource";
?>

上一篇: 下一篇: