(PHP 5 >= 5.3.0, PHP 7, PHP 8)
openssl_decrypt — Расшифровывает данные
$data,$cipher_algo,$passphrase,$options = 0,$iv = "",$tag = null,$aad = ""Функция берёт необработанную или кодированную в base64 строку и расшифровывает её заданным методом и кодовой фразой.
dataДанные для расшифровки.
cipher_algoМетод шифрования. Список доступных методов возвращает функция openssl_get_cipher_methods().
passphrase
Кодовая фраза. Если кодовая фраза короче, чем ожидалось, она заполняется символами NUL;
если кодовая фраза длиннее, чем ожидалось, она усекается.
Для параметра passphrase не используется функция извлечения ключа,
как можно предположить из его названия.
Единственная операция, которая используется, – это заполнение символами
NUL или усечение, если длина отличается от ожидаемой.
options
options можно задать одной из констант:
OPENSSL_RAW_DATA,
OPENSSL_ZERO_PADDING
или OPENSSL_DONT_ZERO_PAD_KEY.
iv
Ненулевой (non-null) инициализирующий вектор.
Если IV короче, чем ожидалось, он заполняется символами NUL
и выдаётся предупреждение;
если кодовая фраза длиннее, чем ожидалось, он усекается и выдаётся предупреждение.
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. |