sodium_crypto_secretstream_xchacha20poly1305_init_pull()
初始化用于解密的秘密流上下文
函数:sodium_crypto_secretstream_xchacha20poly1305_init_pull()
适用版本:PHP 7.2.0+
用法:
sodium_crypto_secretstream_xchacha20poly1305_init_pull(string $header, string $key): string|false
参数:
$header:一个包含加密的流的头部信息的字符串。这个头部信息必须是通过sodium_crypto_secretstream_xchacha20poly1305_init_push()函数生成的。
$key:一个32字节的密钥字符串,用于解密流。
返回值:
成功时,返回一个字符串,代表一个解密的流对象。
失败时,返回false。
示例:
<?php
$encryptedHeader = '...'; // 加密流的头部信息
$secretKey = '...'; // 密钥
$stream = sodium_crypto_secretstream_xchacha20poly1305_init_pull($encryptedHeader, $secretKey);
if ($stream === false) {
die('初始化解密流失败');
}
// 解密流的进一步操作
?>
注意事项:
在使用该函数之前,必须确保已经正确加载了libsodium扩展。
使用该函数之前,需要先使用sodium_crypto_secretstream_xchacha20poly1305_init_push()函数生成加密流的头部信息。
密钥必须是一个32字节的字符串,可以使用sodium_crypto_secretstream_xchacha20poly1305_keygen()函数生成一个随机的密钥。
返回的流对象可以用于后续的解密操作,比如sodium_crypto_secretstream_xchacha20poly1305_pull()函数来解密具体的数据块。