如何在 PHP 中加密或解密字符串

17 Mar 2025 | 5 分钟阅读

在 PHP 编程语言中,字符串数据的加密和解密是使用 OpenSSL 函数完成的。在这里,我们可以分别通过 openssl_encrypt(data) 和 openssl_decrypt(data) 对值进行加密和解密。我们可以使用 PHP 语言的一种方法或两种方法。

1. openssl_encrypt(data) 方法

加密函数用于以许多功能对输入值进行编码。我们可以得到难以理解且安全的编码格式的输出值。

语法

以下语法用于使用 php 语言加密字符串数据。

参数

现在,我们可以讨论语法参数以更好地理解。

  • $data_input: 它包含需要在程序中加密的输入字符串或给定数据。
  • $method_input: 密文方法使用“openssl_get_cipher_methods()”函数包含在加密函数内部。
  • $key_input: 它包含加密功能的密钥。
  • $options: 它包含标志的按位或运算。标志值表示“OPENSSL_RAW_DATA”和“OPENSSL_ZERO_PADDING”数据。
  • $iv_input: 它包含初始化向量数据。此数据不应为 NULL。
  • $tag: 它包含身份验证标签。在使用 AEAD 密文模式(如 GCM 或 CCM)时用于传递引用。
  • $adv_input: 它包含加密函数的附加身份验证输入值。
  • $tag_length: 它包括身份验证输入标签的长度。GCM 模式下身份验证标签的长度为 4 到 16 个值。

返回值

  • 输出值成功时返回加密字符串值。
  • 失败时显示 FALSE 输出值。

2. openssl_decrypt(data) 方法

解密函数用于以许多功能解码输入值。我们可以从编码格式中获取原始格式的输出值。

语法

以下语法用于使用 php 语言解密字符串数据。

参数

现在,我们可以讨论语法参数以更好地理解。

  • $data_input: 它包含需要在程序中解密的输入字符串或给定数据。
  • $method_input: 密文方法使用“openssl_get_cipher_methods()”函数包含在解密函数内部。
  • $key_input: 它包含解密功能的密钥。
  • $options: 它包含标志的按位或运算。标志值表示“OPENSSL_RAW_DATA”和“OPENSSL_ZERO_PADDING”数据。
  • $iv_input: 它包含初始化向量数据。此数据不应为 NULL。
  • $tag: 它包含身份验证标签。在使用 AEAD 密文模式(如 GCM 或 CCM)时用于传递引用。
  • $adv_input: 它包含解密函数的附加身份验证输入值。

返回值

  • 输出值成功时返回解密字符串值。
  • 失败时显示 FALSE 输出值。

示例

以下示例展示了我们如何使用 php 语言加密和解密字符串数据。

示例 1

以下示例展示了如何使用 php 语言加密字符串数据。

我们需要输入字符串、密文方法和加密密钥值来加密字符串值。

输出

以下输出显示了使用 php 语言加密字符串数据。

How to Encrypt or Decrypt a String in PHP

示例 2

以下示例展示了使用 php 语言基本解密字符串数据。我们需要输入字符串、密文方法和加密密钥值来加密字符串值。加密值作为解密数据的输入。

输出

以下输出显示了使用 php 语言加密字符串数据。

Original String: Welcome to JavaTpoint learners

Encrypted Input String: 47Qv+Tl92fM9MQyevgN3tyMA92KyNamCfx1ptqJ6R8Y=

Decrypted Input String: Welcome to JavaTpoint learners

Example3

以下示例展示了使用 php 语言基本解密字符串数据。我们可以在加密和解密函数中使用多个字符串函数。

输出

以下输出显示了使用 php 语言加密字符串数据。

How to Encrypt or Decrypt a String in PHP

Example4

以下示例展示了使用 php 语言基本解密字符串数据。我们可以在加密和解密函数中使用多个动态字符串函数。

输出

以下输出显示了使用 php 语言加密字符串数据。

How to Encrypt or Decrypt a String in PHP

结论

加密和解密字符串是开发过程中必不可少且安全的功能。它安全地存储和检索数据,而不会泄漏重要值。php 函数创建和显示数据,而不会泄漏和破坏原始值。