牛牛在线工具

sodium_crypto_secretbox_open()

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

sodium_crypto_secretbox_open()

解密通过sodium_crypto_secretbox()函数加密的密文

函数名称:sodium_crypto_secretbox_open() 函数功能:在使用libsodium扩展的PHP版本中,sodium_crypto_secretbox_open()函数用于解密通过sodium_crypto_secretbox()函数加密的密文。 函数参数:sodium_crypto_secretbox_open($ciphertext, $nonce, $key) $ciphertext:要解密的密文,类型为字符串。 $nonce:用于加密的随机字符串,类型为字符串。 $key:加密密钥,类型为字符串。 返回值:解密成功时返回明文字符串,解密失败时返回false。 适用版本:该函数适用于PHP 7.2.0及以上版本,并且需要安装libsodium扩展。 示例代码: // 加密密钥和随机字符串 $key = sodium_crypto_secretbox_keygen(); $nonce = random_bytes(SODIUM_CRYPTO_SECRETBOX_NONCEBYTES); // 要加密的明文 $message = "Hello, World!"; // 使用密钥和随机字符串加密明文 $ciphertext = sodium_crypto_secretbox($message, $nonce, $key); // 解密密文 $plaintext = sodium_crypto_secretbox_open($ciphertext, $nonce, $key); if ($plaintext !== false) { echo "解密成功:".$plaintext; } else { echo "解密失败!"; } 在上面的示例中,我们首先生成了一个加密密钥和一个随机字符串。然后,我们使用密钥和随机字符串对明文进行加密,并将加密后的密文存储在$ciphertext变量中。 接下来,我们使用相同的密钥和随机字符串调用sodium_crypto_secretbox_open()函数来解密密文。如果解密成功,将会返回解密后的明文字符串,并输出"解密成功:"加上解密后的明文。如果解密失败,将输出"解密失败!"。 注意:在使用sodium_crypto_secretbox_open()函数之前,需要先调用sodium_crypto_secretbox_keygen()函数生成一个加密密钥,并调用random_bytes()函数生成一个随机字符串作为nonce。