使用 Ed25519 算法对数据进行签名
Sign data with Ed25519 algorithm
我想用算法 Ed25519 签署一些数据。
私钥示例:Y2E3YjYwYzRjMDRjMjk1ZDQ5ZTQzM2RlMTdjZjVkNGE0NGFjYzJmM2IzOWExNWZhMjViNGE4ZWJiZDBiMDVkYTIwNGU4MWE3ZWZmMTQ0NGE2ZmM2NjExNzRmNTY4M2I0YmYyMTk5YTkyY2UzOWRkZjdmMzhkNTFjYTNmM2Q3ZDU=
但是我不知道怎么办。
我尝试使用 openssl_sign
,但发现它不支持 Ed25519
。
我的php版本是7.4.3
PHP 有一个名为 Sodium 的现代加密库。
该扩展与 PHP 7.2.0 捆绑在一起。 Make sure it's enabled.
它具有 sodium_crypto_sign_detached
函数,该函数使用 Ed25519.
$private_key = '...';
$binary_private_key = hex2bin(base64_decode($private_key));
$message = "Hello!";
$signature = sodium_crypto_sign_detached($message, $binary_private_key);
echo bin2hex($signature);
我想用算法 Ed25519 签署一些数据。
私钥示例:Y2E3YjYwYzRjMDRjMjk1ZDQ5ZTQzM2RlMTdjZjVkNGE0NGFjYzJmM2IzOWExNWZhMjViNGE4ZWJiZDBiMDVkYTIwNGU4MWE3ZWZmMTQ0NGE2ZmM2NjExNzRmNTY4M2I0YmYyMTk5YTkyY2UzOWRkZjdmMzhkNTFjYTNmM2Q3ZDU=
但是我不知道怎么办。
我尝试使用 openssl_sign
,但发现它不支持 Ed25519
。
我的php版本是7.4.3
PHP 有一个名为 Sodium 的现代加密库。
该扩展与 PHP 7.2.0 捆绑在一起。 Make sure it's enabled.
它具有 sodium_crypto_sign_detached
函数,该函数使用 Ed25519.
$private_key = '...';
$binary_private_key = hex2bin(base64_decode($private_key));
$message = "Hello!";
$signature = sodium_crypto_sign_detached($message, $binary_private_key);
echo bin2hex($signature);