sodium_crypto_sign
(PHP 7 >= 7.2.0, PHP 8)
sodium_crypto_sign — メッセージに署名する
説明
秘密鍵を用いてメッセージに署名します。 これは、秘密鍵に対応する公開鍵で検証することができます。 この関数は、メッセージに署名を付加します。 メッセージとは別に署名を持つ方法については、 sodium_crypto_sign_detached() を参照ください。
パラメータ
message
-
署名するメッセージ
secret_key
-
秘密鍵。 sodium_crypto_sign_secretkey() を参照ください。
戻り値
署名済みのメッセージ(暗号化されていません) を返します。
+add a note
User Contributed Notes 1 note
craig at craigfrancis dot co dot uk ¶
6 years ago
Here's a quick example on how to use sodium_crypto_sign(); where you have a message that you want to sign, so anyone with the public key can confirm that the message hasn't been tampered with.
This is similar to sodium_crypto_sign_detached(), but the returned string contains the original message as well (in plain text, at the end, so anyone can read it).
<?php
// $sign_seed = random_bytes(SODIUM_CRYPTO_SIGN_SEEDBYTES);
// $sign_pair = sodium_crypto_sign_seed_keypair($sign_seed);
$sign_pair = sodium_crypto_sign_keypair();
$sign_secret = sodium_crypto_sign_secretkey($sign_pair);
$sign_public = sodium_crypto_sign_publickey($sign_pair);
//--------------------------------------------------
// Person 1, signing
$message = 'Hello';
$message_signed = sodium_crypto_sign($message, $sign_secret);
//--------------------------------------------------
// Person 2, verifying
$message = sodium_crypto_sign_open($message_signed, $sign_public);
echo $message . "\n";
?>