牛牛在线工具

sodium_crypto_box_open()

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

sodium_crypto_box_open()

解密已加密的消息,使用公钥加密和私钥解密的非对称加密算法

函数名称:sodium_crypto_box_open() 函数描述:sodium_crypto_box_open()函数用于解密已加密的消息,使用公钥加密和私钥解密的非对称加密算法。 适用版本:PHP 7.2.0及以上版本 语法:string sodium_crypto_box_open(string $ciphertext, string $nonce, string $keypair) 参数: $ciphertext:加密的消息,以字符串形式传递。 $nonce:用于加密的随机数,以字符串形式传递。 $keypair:公钥和私钥的组合,以字符串形式传递。 返回值:解密后的原始消息,以字符串形式返回。如果解密失败,返回false。 示例: // 定义公钥和私钥 $keypair = sodium_crypto_box_keypair(); // 获取公钥和私钥 $publicKey = sodium_crypto_box_publickey($keypair); $privateKey = sodium_crypto_box_secretkey($keypair); // 原始消息 $message = "Hello, world!"; // 用公钥加密消息 $nonce = random_bytes(SODIUM_CRYPTO_BOX_NONCEBYTES); // 生成随机数 $ciphertext = sodium_crypto_box($message, $nonce, $publicKey, $privateKey); // 解密消息 $decryptedMessage = sodium_crypto_box_open($ciphertext, $nonce, $keypair); // 输出解密后的原始消息 echo $decryptedMessage; 注意事项: 在使用sodium_crypto_box_open()函数之前,需要先生成公钥和私钥对,可以使用sodium_crypto_box_keypair()函数生成。 解密前需要确保传递正确的密文、随机数和密钥对。 解密成功后,返回的是原始消息的字符串形式。 如果解密失败,函数会返回false,需要对返回值进行检查。 更多信息和示例可以参考PHP官方文档:https://www.php.net/manual/en/function.sodium-crypto-box-open.php