English | 简体中文 | 繁體中文
查询

sodium_crypto_aead_aes256gcm_encrypt()函数—用法及示例

「 对明文进行加密,并返回加密后的密文 」


函数名:sodium_crypto_aead_aes256gcm_encrypt()

适用版本:PHP 7.2.0以上

用法:此函数用于对明文进行加密,并返回加密后的密文。

语法:sodium_crypto_aead_aes256gcm_encrypt(string $plaintext, string $additional_data, string $nonce, string $key): string

参数:

  • $plaintext:要加密的明文字符串。
  • $additional_data:附加的数据,可选参数,不参与加密计算,但会被包含在加密结果中。
  • $nonce:加密用的nonce(一次性随机数)字符串,必须是唯一的,长度为12字节。
  • $key:加密密钥字符串,长度为32字节。

返回值:返回加密后的密文字符串,长度为与明文相同。

示例:

$plaintext = "Hello, world!";
$additional_data = "some additional data";
$nonce = random_bytes(SODIUM_CRYPTO_AEAD_AES256GCM_NPUBBYTES);
$key = random_bytes(SODIUM_CRYPTO_AEAD_AES256GCM_KEYBYTES);

$ciphertext = sodium_crypto_aead_aes256gcm_encrypt($plaintext, $additional_data, $nonce, $key);

echo base64_encode($ciphertext);

注意事项:

  1. 为了保证安全性,$nonce和$key应该是随机生成的,并且在每次加密时都应该是唯一的。
  2. 密文的长度与明文相同,但不能从密文中恢复出明文的具体内容。
  3. 使用相同的$nonce和$key进行解密,可以得到原始的明文数据。
补充纠错
热门PHP函数
分享链接