函式名稱:sodium_crypto_box_seed_keypair()
函式描述:該函式用於根據種子生成一個公鑰和私鑰對,用於後續的加密和解密操作。
適用版本:PHP 7.2.0及以上版本
用法:
sodium_crypto_box_seed_keypair(string $seed): string
引數:
$seed
:一個字串型別的種子,用於生成公鑰和私鑰對。種子的長度應該是32個位元組。
返回值:
- 生成的公鑰和私鑰對,以字串型別返回。
示例:
$seed = random_bytes(32); // 生成一個32位元組的隨機種子
$keypair = sodium_crypto_box_seed_keypair($seed); // 根據種子生成公鑰和私鑰對
list($publicKey, $privateKey) = explode(':', $keypair); // 將公鑰和私鑰分開儲存
echo "公鑰: " . bin2hex($publicKey) . PHP_EOL;
echo "私鑰: " . bin2hex($privateKey) . PHP_EOL;
注意事項:
- 種子應該是隨機和保密的,以確保生成的金鑰對的安全性。
- 公鑰和私鑰都是二進位制資料,如果需要以可讀的形式展示,可以使用
bin2hex()
函式進行轉換。 - 生成的公鑰和私鑰對可以用於後續的加密和解密操作,例如使用
sodium_crypto_box_seal()
函式進行加密,使用sodium_crypto_box_seal_open()
函式進行解密。