• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • 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