# openssl_decrypt

(PHP 5 >= 5.3.0, PHP 7)

openssl_decrypt — 解密数据

### 说明

openssl_decrypt ( string `$data` , string `$method` , string `$key` [, int `$options` = 0 [, string `$iv` = "" [, string `$tag` = "" [, string `$aad` = "" ]]]] ) : string

采用原始或base64编码的字符串，并使用给定的方法和密钥对其进行解密。

### 参数

`data`

  将被解密的密文。

`method`

  加密算法，使用openssl_get_cipher_methods()函数获取可用的加密算法列表。

`key`

  密钥。

`options`

  `options` can be one of `OPENSSL_RAW_DATA`, `OPENSSL_ZERO_PADDING`.

`iv`

  非空的初始化向量。

`tag`

  AEAD密码模式中的身份验证标签。 如果是错误的，验证失败，函数返回`FALSE`.

`aad`

  额外的认证数据。

### 返回值

The decrypted string on success 或者在失败时返回 `FALSE`.

### 错误／异常

如果通过`method`参数传递的是一个未知的加密算法，将会抛出一个 `E_WARNING` 等级的错误。

如果通过`iv`参数传递的是一个空值，将会抛出一个 `E_WARNING` 等级的错误。

### 更新日志

版本 | 说明
--- | ---
5.3.3 | 添加 `iv` 参数。
5.4.0 | 将 `raw_output` 更改至 `options`。
7.1.0 | 添加了 `tag` 和 `aad` 参数。

### 参见

- openssl_encrypt() - 加密数据