牛牛在线工具

sodium_crypto_box_seal()

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

sodium_crypto_box_seal()

对称加密一个消息,使其只能被私钥所有者解密

函数名:sodium_crypto_box_seal() 适用版本:PHP 7.2.0及以上版本 函数描述:sodium_crypto_box_seal()函数用于对称加密一个消息,使其只能被私钥所有者解密。该函数使用公钥加密,私钥解密的方式进行加密。它适用于不需要进行密钥交换的场景。 用法: string sodium_crypto_box_seal ( string $message , string $public_key ) 参数: $message:要加密的消息,类型为字符串。 $public_key:公钥,类型为字符串。 返回值: 返回一个加密后的字符串,该字符串只能由私钥持有者解密。 示例: // 生成密钥对 $keyPair = sodium_crypto_box_keypair(); // 获取公钥和私钥 $publicKey = sodium_crypto_box_publickey($keyPair); $privateKey = sodium_crypto_box_secretkey($keyPair); // 要加密的消息 $message = "Hello, world!"; // 使用公钥加密消息 $encryptedMessage = sodium_crypto_box_seal($message, $publicKey); // 使用私钥解密消息 $decryptedMessage = sodium_crypto_box_seal_open($encryptedMessage, $keyPair); echo "原始消息:".$message."\n"; echo "加密后的消息:".$encryptedMessage."\n"; echo "解密后的消息:".$decryptedMessage."\n"; 注意事项: 使用sodium_crypto_box_seal()函数加密的消息只能使用sodium_crypto_box_seal_open()函数解密。 在使用该函数之前,确保已经安装了libsodium扩展,并且PHP版本大于等于7.2.0。 密钥对的生成可以使用sodium_crypto_box_keypair()函数来实现。