函數(shù)名:gnupg_decryptverify()
適用版本:PHP 4 >= 4.0.4, PHP 5, PHP 7
用法:gnupg_decryptverify(string $text, string $signature, string &$plaintext)
說明:gnupg_decryptverify() 函數(shù)用于解密和驗證由 GnuPG 加密的文本。它將解密給定的 $text,并使用 $signature 來驗證解密后的文本的完整性和真實性。如果驗證成功,解密后的文本將存儲在 $plaintext 變量中。
參數(shù):
- $text:要解密和驗證的文本。
- $signature:用于驗證解密后文本的簽名。
- $plaintext:成功解密后的文本將存儲在此變量中。
返回值:成功時返回 TRUE,失敗時返回 FALSE。
示例:
<?php
// 創(chuàng)建 GnuPG 對象
$gpg = gnupg_init();
// 導入公鑰
gnupg_adddecryptkey($gpg, "YOUR_PUBLIC_KEY");
// 加密的文本和簽名
$encryptedText = "ENCRYPTED_TEXT";
$signature = "SIGNATURE";
// 解密和驗證文本
$plaintext = '';
if (gnupg_decryptverify($gpg, $encryptedText, $signature, $plaintext)) {
echo "解密和驗證成功!\n";
echo "解密后的文本: " . $plaintext;
} else {
echo "解密和驗證失敗!\n";
}
?>
以上示例中,我們首先使用 gnupg_init()
函數(shù)創(chuàng)建了一個 GnuPG 對象。然后使用 gnupg_adddecryptkey()
函數(shù)導入了我們的公鑰。接下來,我們傳入加密的文本和簽名到 gnupg_decryptverify()
函數(shù)中進行解密和驗證。如果解密和驗證成功,我們將打印解密后的文本。否則,將打印解密和驗證失敗的消息。請確保替換示例中的 "YOUR_PUBLIC_KEY"
、"ENCRYPTED_TEXT"
和 "SIGNATURE"
為實際的值。