Here's a quick example on how to use sodium_crypto_aead_chacha20poly1305_ietf_encrypt(); where you have 1 key to encrypt and decrypt.
<?php
$key = sodium_crypto_aead_chacha20poly1305_ietf_keygen();
//--------------------------------------------------
// Encrypting
$message = 'hello';
$nonce = random_bytes(SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_IETF_NPUBBYTES);
$encrypted = sodium_crypto_aead_chacha20poly1305_ietf_encrypt($message, $nonce, $nonce, $key);
echo base64_encode($encrypted) . "\n";
//--------------------------------------------------
// Decrypting
$decrypted = sodium_crypto_aead_chacha20poly1305_ietf_decrypt($encrypted, $nonce, $nonce, $key);
echo $decrypted . "\n";
?>
And just to confirm, the $nonce is used twice - the first time it's in the authentication tag ($ad):
https://twitter.com/craigfrancis/status/949614546259513344
PHP.mk документација
sodium_crypto_aead_chacha20poly1305_ietf_encrypt
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
Патека
function.sodium-crypto-aead-chacha20poly1305-ietf-encrypt.php
Локална патека за оваа страница.
Извор
php.net/manual/en
Оригиналниот HTML се реупотребува и локално се стилизира.
Режим
Прокси + превод во позадина
Кодовите, табелите и белешките остануваат читливи во истиот тек.
Референца
function.sodium-crypto-aead-chacha20poly1305-ietf-encrypt.php
sodium_crypto_aead_chacha20poly1305_ietf_encrypt
Референца за `function.sodium-crypto-aead-chacha20poly1305-ietf-encrypt.php` со подобрена типографија и навигација.
sodium_crypto_aead_chacha20poly1305_ietf_encrypt
(PHP 7 >= 7.2.0, PHP 8)
sodium_crypto_aead_chacha20poly1305_ietf_encrypt — Encrypt a message
= NULL
sodium_crypto_aead_chacha20poly1305_ietf_encrypt(
Иницијализира контекст за инкрементално хеширање string
string
string
Иницијализира контекст за инкрементално хеширање string
): string
Иницијализира контекст за инкрементално хеширање string
$message,string
$additional_data,string
$nonce,Иницијализира контекст за инкрементално хеширање string
$key): string
Шифрирај порака
Шифрирај, а потоа автентицирај со ChaCha20-Poly1305 (IETF варијанта).
Параметри
message- Оригиналниот текст на пораката за шифрирање.
additional_data- Генерално, XChaCha20-Poly1305 е најдобар од обезбедените AEAD режими за употреба.
nonce- IETF варијантата користи 96-битни nonce и 32-битни внатрешни бројачи, наместо 64-битни за двете.
key- Клуч за шифрирање (256-битен).
Вратени вредности
Број што мора да се користи само еднаш, по порака. Долг 12 бајти. false при неуспех.
Белешки од корисници 1 белешка
крег на крегфренсис точка ко точка ук ¶
пред 8 години