sodium crypto sign()
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
- sodium_crypto_secretbox() - Autentiserad delad-nyckel-kryptering
- sodium_crypto_secretbox_keygen() - Generera en slumpmässig nyckel för sodium_crypto_secretbox()
- random_bytes() - Hämta kryptografiskt säkra slumpmässiga bytes
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.