sodium_crypto_aead_chacha20poly1305_encrypt

(PHP 7 >= 7.2.0)

sodium_crypto_aead_chacha20poly1305_encryptEncrypt a message

Descrierea

sodium_crypto_aead_chacha20poly1305_encrypt ( string $message , string $additional_data , string $nonce , string $key ) : string

Avertizare

Această funcție nu este documentată în prezent; este disponibilă numai lista sa de argumente.

Parametri

message

additional_data

nonce

key

Valorile întoarse

add a note add a note

User Contributed Notes 1 note

up
1
alain at fuz dot org
1 year ago
A flip/flop unit test to give you a sample:

<?php

use PHPUnit\Framework\TestCase;

class
SodiumTest extends TestCase
{
    public function
testSodium()
    {
       
// or 32 cryptographically secure bytes
        // store the key securely with other secrets in your app
      
$key = sodium_crypto_aead_xchacha20poly1305_ietf_keygen();

       
// 8-bytes nonce should be stored along with the ciphertext (will be needed for decryption)
        // It is not sensitive, you may just prepend it before the ciphertext.
       
$nonce = random_bytes(SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_NPUBBYTES);

       
$flip = 'Hello, world!';
       
$ciphertext = sodium_crypto_aead_chacha20poly1305_encrypt($flip, $nonce, $nonce, $key);
       
$flop = sodium_crypto_aead_chacha20poly1305_decrypt($ciphertext, $nonce, $nonce, $key);

       
$this->assertEquals($flip, $flop);
    }
}

?>

Side note: the nonce is used twice in this test, but you can use a username, an identifier or whatever you like in `$additional_data`
To Top