牛牛在线工具

sodium_crypto_box_seal_open()

收录 8868 个 PHP 函数,含用途说明与用法示例。

sodium_crypto_box_seal_open()

打开由 sodium_crypto_box_seal() 函数密封的密文

函数名称: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 参数: $sealed:密封的密文,必须是一个二进制字符串。 $keypair:收件人的密钥对,必须是一个二进制字符串。 返回值: 成功解密时,返回解密后的明文,以二进制字符串形式表示。 解密失败时,返回 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 注意事项: 在使用 sodium_crypto_box_seal_open() 函数之前,必须先安装并启用 libsodium 扩展。 收件人的密钥对必须与使用 sodium_crypto_box_seal() 函数密封密文时使用的密钥对相对应。 密封的密文必须是一个二进制字符串,可以使用 sodium_hex2bin() 函数将十六进制字符串转换为二进制字符串。 解密成功后,可以使用 bin2hex() 函数将解密后的明文转换为十六进制字符串进行展示。