- random_bytes: documentation ( source)
<?php
// Création nombre arbitraire
$nonce = random_bytes(SODIUM_CRYPTO_SECRETBOX_NONCEBYTES);
// Création d'une clé secrète
$key = sodium_crypto_secretbox_keygen();
// Notre message à chiffrer
$message = 'Notre message super secret!';
/**
* Chiffrer le message, et stocker le texte chiffré résultant avec le nonce.
* Contrairement à la clé, le nonce n'a pas besoin d'être secret.
*/
$cipher = sodium_crypto_secretbox($message, $nonce, $key);
// Décrypter le texte chiffré en utilisant la même clé et nonce
$decipher = sodium_crypto_secretbox_open($cipher, $nonce, $key);
echo $decipher;