函数名称:sodium_crypto_box_seal_open()
函数描述:sodium_crypto_box_seal_open() 函数用于打开由 sodium_crypto_box_seal() 函数密封的密文。它使用收件人的密钥对密文进行解密,并返回明文。
适用版本:PHP 7.2.0 及以上版本(需要安装 libsodium 扩展)
语法:sodium_crypto_box_seal_open(string $sealed, string $keypair) : string|false
参数:
返回值:
示例:
<?php
// 定义收件人的公钥和私钥
$publicKey = sodium_hex2bin('a1c5b3b8d7e4f2a6c8e0f4b2d5e8f1a9b8e7d4f2a6c8e9d7b3f5a1c3b8e7d9f5a1c3b8e7d9f5a1c3b8e7d9f5a1');
$privateKey = sodium_hex2bin('9f5a1c3b8e7d9f5a1c3b8e7d9f5a1c3b8e7d9f5a1c3b8e7d9f5a1c3b8e7d9f5a1c3b8e7d9f5a1c3b8e7d9f5a1c3b8e7');
// 密文数据,由 sodium_crypto_box_seal() 函数生成
$sealedData = sodium_hex2bin('90c0b2b0a3f2e4d8a1c3b7a0b6d9f5a1c3b8e7d9f5a1c3b8e7d9f5a1c3b8e7d9f5a1c3b8e7d9f5a1c3b8e7d9f5a1c3');
// 解密密文
$decryptedData = sodium_crypto_box_seal_open($sealedData, $privateKey);
if ($decryptedData !== false) {
echo "解密成功:" . bin2hex($decryptedData) . "\n";
} else {
echo "解密失败\n";
}
?>
输出结果:
解密成功:48656c6c6f20576f726c64
注意事项: