For those(like me) confused by sodium_crypto_sign() vs. sodium_crypto_sign_detached()
From the libsodium docs
In "detached mode" the signature is stored without attaching a copy of the original message to it.
(PHP 7 >= 7.2.0, PHP 8)
sodium_crypto_sign_detached — Sign the message
Sign a message with a secret key, that can be verified by the corresponding public key. This function returns a detached signature.
message
Message to sign.
secret_key
Secret key. See sodium_crypto_sign_secretkey()
Cryptographic signature.
For those(like me) confused by sodium_crypto_sign() vs. sodium_crypto_sign_detached()
From the libsodium docs
In "detached mode" the signature is stored without attaching a copy of the original message to it.
Here's a quick example on how to use sodium_crypto_sign_detached(); 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(), but the returned string does not contain the original message, it is just a signature.
<?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';
$signature = sodium_crypto_sign_detached($message, $sign_secret);
/--------------------------------------------------
/ Person 2, verifying
$message_valid = sodium_crypto_sign_verify_detached($signature, $message, $sign_public);
if (!$message_valid) {
exit('Message has been changed.');
}
?>
Follow Lee on X/Twitter - Father, Husband, Serial builder creating AI, crypto, games & web tools. We are friends :) AI Will Come To Life!
Check out: eBank.nz (Art Generator) |
Netwrck.com (AI Tools) |
Text-Generator.io (AI API) |
BitBank.nz (Crypto AI) |
ReadingTime (Kids Reading) |
RewordGame |
BigMultiplayerChess |
WebFiddle |
How.nz |
Helix AI Assistant