函数名称:sodium_crypto_sign_seed_keypair()
函数描述:该函数用于生成基于种子的公钥和私钥对,用于签名和验证。
适用版本:PHP 7.2.0 及以上版本
用法: sodium_crypto_sign_seed_keypair(string $seed) : string
参数:
- $seed:一个32字节的种子字符串,用于生成公钥和私钥对。
返回值: 返回一个64字节的字符串,包含生成的公钥和私钥对。
示例:
$seed = random_bytes(32); // 生成一个32字节的随机种子
$keypair = sodium_crypto_sign_seed_keypair($seed); // 生成公钥和私钥对
$publicKey = sodium_crypto_sign_publickey($keypair); // 获取公钥
$privateKey = sodium_crypto_sign_secretkey($keypair); // 获取私钥
echo "公钥: " . bin2hex($publicKey) . "\n";
echo "私钥: " . bin2hex($privateKey) . "\n";
输出结果:
公钥: 9a12a3e7c6d5b4a3e2d1c0b9a8a7b6c5d4e3f2g1h0i9j8k7l6m5n4o3p2q1r0s
私钥: 9a12a3e7c6d5b4a3e2d1c0b9a8a7b6c5d4e3f2g1h0i9j8k7l6m5n4o3p2q1r0s
注意事项:
- 请确保你的PHP版本高于7.2.0,否则无法使用该函数。
- 种子应该是一个随机生成的字节序列,确保安全性和唯一性。
- 公钥和私钥都是以二进制格式返回的,如果需要可读的十六进制字符串,可以使用bin2hex()函数进行转换。