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 референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
openssl_private_decrypt
Референца за `function.openssl-private-decrypt.php` со подобрена типографија и навигација.
openssl_private_decrypt
(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)
openssl_private_decrypt — Дешифрира податоци со приватен клуч
= NULL
string
$data,Иницијализира контекст за инкрементално хеширање string
&$decrypted_data,Иницијализира контекст за инкрементално хеширање OpenSSLAsymmetricKey|OpenSSLCertificate|array|string
$private_key,int
$padding = OPENSSL_PKCS1_PADDING,?string
$digest_algo = null): bool
openssl_private_decrypt() decrypts
data што претходно беше шифрирано со
openssl_public_encrypt() with public
decrypted_data.
Можете да ја користите оваа функција, на пр., за дешифрирање податоци што треба да бидат достапни само за вас.
Параметри
data-
decrypted_data-
private_key-
private_keyмора да биде приватниот клуч што одговара на јавниот клуч што беше искористен за шифрирање на податоците. padding-
paddingmust be the public key that corresponds to the private key that will be used to decrypt the data.OPENSSL_PKCS1_PADDING,OPENSSL_SSLV23_PADDING,OPENSSL_PKCS1_OAEP_PADDING,OPENSSL_NO_PADDING. digest_algo-
can be one of
nullThe digest algorithm for OAEP padding, or
Вратени вредности
Патеката до PHP скриптата што треба да се провери. true на успех или false при неуспех.
Дневник на промени
| Верзија | = NULL |
|---|---|
| 8.5.0 |
Изборниот параметар digest_algo е додадена.
|
| 8.0.0 |
private_key прифаќа OpenSSLAsymmetricKey
or OpenSSLCertificate инстанца сега; претходно, а resource од тип OpenSSL key or OpenSSL X.509
беше прифатено.
|
Види Исто така
- openssl_public_encrypt() - Шифрира податоци со јавен клуч
- openssl_public_decrypt() - Дешифрира податоци со јавен клуч