查詢

sodium_crypto_kx_seed_keypair()函式—用法及示例

「 根據種子生成一對公私鑰對,用於金鑰交換 」


函式名稱:sodium_crypto_kx_seed_keypair()

適用版本:PHP 7.2.0及以上版本

函式說明:sodium_crypto_kx_seed_keypair()函式用於根據種子生成一對公私鑰對,用於金鑰交換。

語法:sodium_crypto_kx_seed_keypair(string $seed) : string

引數:

  • $seed: 一個32位元組的種子值,可以是隨機生成的或者是從其他來源獲得的。

返回值:返回一個包含公私鑰對的字串,長度為64位元組。

示例:

$seed = random_bytes(SODIUM_CRYPTO_KX_SEEDBYTES); // 生成一個32位元組的隨機種子

$keypair = sodium_crypto_kx_seed_keypair($seed); // 生成公私鑰對

$publicKey = sodium_crypto_kx_publickey($keypair); // 獲取公鑰
$privateKey = sodium_crypto_kx_secretkey($keypair); // 獲取私鑰

echo "Public Key: " . bin2hex($publicKey) . "\n";
echo "Private Key: " . bin2hex($privateKey) . "\n";

輸出示例:

Public Key: 8e9b2a9e5e1c0f1c5e0d9b8a7e6d5c4b3a2
Private Key: 9a8b7c6d5e4f3e2d1c0b9a8b7c6d5e4f3e2d1c0b9a8b7c6d5e4f3e2d1c0b9a8

注意事項:

  • 生成的種子值必須是一個32位元組的隨機值,使用random_bytes()函式生成更為安全。
  • 公私鑰對的長度為64位元組,需要使用bin2hex()函式進行十六進位制轉換才能進行顯示。
補充糾錯
熱門PHP函式
分享連結