sodium crypto sign()

Från Wiki.linux.se
Hoppa till navigering Hoppa till sök

sodium_crypto_secretbox_open

(PHP 7 ≥ 7.2.0, PHP 8)

Beskrivning

sodium_crypto_secretbox_open(string $ciphertext, string $nonce, #[\SensitiveParameter] string $key): string|false

Dekrypterar ett krypterat meddelande med en symmetrisk (delad) nyckel.

Parametrar

ciphertext
Måste vara i det format som tillhandahålls av sodium_crypto_secretbox() (chiffertext och tag sammanfogade).
nonce
Ett nummer som endast får användas en gång per meddelande. 24 bytes långt. Detta är en tillräckligt stor gräns för att generera slumpmässigt (t.ex. random_bytes()).
key
Krypteringsnyckel (256-bit).

Returnerar

Returnerar den dekrypterade strängen vid framgång, eller false vid misslyckande.

Fel/Undantag

  • Om nonce har en längd som skiljer sig från SODIUM_CRYPTO_SECRETBOX_NONCEBYTES (24 bytes) kommer en SodiumException att kastas.
  • Om key har en längd som skiljer sig från SODIUM_CRYPTO_SECRETBOX_KEYBYTES (32 bytes) kommer en SodiumException att kastas.

Exempel

<?php
// Nyckeln måste hållas konfidentiell
$key = random_bytes(SODIUM_CRYPTO_SECRETBOX_KEYBYTES);
// Återanvänd inte $nonce med samma nyckel
$nonce = random_bytes(SODIUM_CRYPTO_SECRETBOX_NONCEBYTES);
$ciphertext = sodium_crypto_secretbox('message to be encrypted', $nonce, $key);

// Samma nonce och nyckel krävs för att dekryptera $ciphertext
$plaintext = sodium_crypto_secretbox_open($ciphertext, $nonce, $key);
if ($plaintext !== false) {
    echo $plaintext . PHP_EOL;
}
?>

Det ovanstående exemplet kommer att ge följande output:

message to be encrypted

Se även


Sidslut

Orginalhemsidan på Engelska :https://www.php.net/manual/en/function.sodium-crypto-sign.php
PHP Funktioner Funktionsreferens Kryptografitillägg Sodium


Det här är en maskinöversättning av PHP-manualen till svenska. Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på https://www.linux.se/kontaka-linux-se/

Tack till Datorhjälp som har sponsrat Linux.se med webbhotell.