gnupg_decrypt

(PECL gnupg >= 0.1)

gnupg_decryptDéchiffre un texte donné

Description

string gnupg_decrypt ( resource $identifier , string $text )

Déchiffre un texte donné avec les clés qui ont été fixées avec gnupg_adddecryptkey auparavant.

Liste de paramètres

identifier

L'identifiant gnupg, généré par un appel à la fonction gnupg_init() ou à la fonction gnupg.

text

Le texte à déchiffrer.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec gnupg_decrypt() (Style procédural)

<?php
$res 
gnupg_init();
gnupg_adddecryptkey($res,"8660281B6051D071D94B5B230549F9DC851566DC","test");
$plain gnupg_decrypt($res,$encrypted_text);
echo 
$plain;
?>

Exemple #2 Exemple avec gnupg_encrypt() (Style orienté objet)

<?php
$gpg 
= new gnupg();
$gpg -> adddecryptkey("8660281B6051D071D94B5B230549F9DC851566DC","test");
$plain $gpg -> decrypt($encrypted_text);
echo 
$plain;
?>

add a note add a note

User Contributed Notes 2 notes

up
2
Mike
4 years ago
As of gnupg version 2, it is not possible to pass a plain password any more. The parameter is simply ignored. Instead, a pinentry application will be launched in case of php running in cli mode. In cgi or apache mode, opening the key will fail.
The simplest solution is to use keys without passwords.
up
0
aidukas at gmail dot com
8 months ago
If empty text is encrypted, the gnupg_decrypt() function will return a boolean FALSE so if you do a strict comparison (===, !==) to track a failure it will trigger you a failure.
For failures use Exceptions:
<?php
        $gpg
= new gnupg();
       
$gpg->seterrormode(gnupg::ERROR_EXCEPTION);
       
/*
         .......further code.......
       */
       
try {
           
$string = $gpg->decrypt($stringToDecrypt);
        } catch (
Exception $e) {
        
// do the Error processing
       
}

?>
To Top