sodium_crypto_aead_chacha20poly1305_ietf_encrypt()
(PHP 7 >= 7.2.0)
Encrypt a message
说明
sodium_crypto_aead_chacha20poly1305_ietf_encrypt(string $msg,string $ad,string $nonce,string $key): string
Warning本函数还未编写文档,仅有参数列表。
参数
- $msg
- $ad
- $nonce
- $key
返回值
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