查询

sodium_crypto_box_secretkey()函数—用法及示例

「 生成一个新的密钥对的私钥,用于Sodium扩展库中的加密和解密操作 」


函数名称:sodium_crypto_box_secretkey()

函数描述:生成一个新的密钥对的私钥,用于Sodium扩展库中的加密和解密操作。

适用版本:PHP 7.2.0及以上版本。

用法:

  1. 生成新的密钥对的私钥:

    $secretKey = sodium_crypto_box_secretkey();
    

    这将生成一个新的私钥,并将其赋值给变量$secretKey。私钥是一个二进制字符串,可用于进行加密和解密操作。

  2. 保存私钥到文件:

    file_put_contents('private.key', $secretKey);
    

    将私钥保存到文件中,以便在后续的加密和解密操作中使用。

示例:

<?php
// 生成新的密钥对的私钥
$secretKey = sodium_crypto_box_secretkey();

// 保存私钥到文件
file_put_contents('private.key', $secretKey);

// 加载私钥
$secretKey = file_get_contents('private.key');

// 使用私钥进行加密和解密操作
$message = 'Hello, world!';
$nonce = random_bytes(SODIUM_CRYPTO_BOX_NONCEBYTES);
$publicKey = sodium_crypto_box_publickey_from_secretkey($secretKey);
$ciphertext = sodium_crypto_box($message, $nonce, $publicKey, $secretKey);

// 输出加密后的密文
echo 'Ciphertext: ' . base64_encode($ciphertext) . PHP_EOL;

// 使用私钥进行解密操作
$decrypted = sodium_crypto_box_open($ciphertext, $nonce, $publicKey, $secretKey);

// 输出解密后的明文
echo 'Decrypted: ' . $decrypted . PHP_EOL;
?>

上述示例中,首先使用sodium_crypto_box_secretkey()生成一个新的私钥,并将其保存到文件中。然后,加载私钥并使用它进行加密操作。最后,使用相同的私钥进行解密操作,输出解密后的明文。请注意,示例中还使用了其他Sodium扩展库中的函数,如sodium_crypto_box_publickey_from_secretkey()、sodium_crypto_box()和sodium_crypto_box_open()。

补充纠错
热门PHP函数
分享链接