openssl_decrypt

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

openssl_decryptРасшифровывает данные

Описание

openssl_decrypt(
    string $data,
    string $cipher_algo,
    string $passphrase,
    int $options = 0,
    string $iv = "",
    ?string $tag = null,
    string $aad = ""
): string|false

Берет необработанную или кодированную в base64 строку и расшифровывает её с помощью заданного метода и ключа.

Список параметров

data

Данные для расшифровки.

cipher_algo

Метод шифрования. Список доступных методов можно получить с помощью функции openssl_get_cipher_methods().

passphrase

Ключ.

options

options можно задать одной из констант: OPENSSL_RAW_DATA, OPENSSL_ZERO_PADDING.

iv

Ненулевой инициализирующий вектор.

tag

Тег аутентификации в режиме шифрования AEAD. Если он некорректен, то аутентификация завершится неудачей и функция вернёт false.

Предостережение

Длина tag не проверяется функцией. Вызывающая сторона несёт ответственность за то, чтобы длина тега соответствовала длине тега, полученного при вызове openssl_encrypt(). В противном случае дешифрование может быть успешным, если данный тег совпадает только с началом правильного тега.

aad

Дополнительные аутентифицированные данные.

Возвращаемые значения

Расшифрованная строка или false, если возникла ошибка.

Ошибки

Выдаёт ошибку уровня E_WARNING, если в параметр cipher_algo передан неизвестный алгоритм шифрования.

Выдаёт ошибку уровня E_WARNING, если в параметр iv передано пустое значение.

Список изменений

Версия Описание
8.1.0 Параметр tag теперь допускает значение null.
7.1.0 Добавлены параметры tag и aad.

Смотрите также