openssl_encrypt
Шифрует данные
&reftitle.description;
stringfalseopenssl_encrypt
#[\SensitiveParameter]stringdata
stringcipher_algo
#[\SensitiveParameter]stringpassphrase
intoptions0
stringiv""
stringtag&null;
stringaad""
inttag_length16
Функция шифрует данные с заданным шифром и кодовой фразой и возвращает необработанную строку, либо
строку, закодированную в base64.
&reftitle.parameters;
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 (GCM или CCM).
aad
Дополнительные аутентифицированные данные.
tag_length
Длина параметра tag. Для режима GCM должно быть от 4 до 16.
&reftitle.returnvalues;
Функция возвращает зашифрованную строку&return.falseforfailure;.
&reftitle.errors;
Функция выдаёт ошибку уровня E_WARNING, если в параметр
cipher_algo передали неизвестный алгоритм шифрования.
Функция выдаёт ошибку уровня E_WARNING, если в параметр
iv передали пустое значение.
&reftitle.changelog;
&Version;
&Description;
7.1.0
Добавили параметры tag, aad
и tag_length.
&reftitle.examples;
Пример шифрования AES с аутентификацией в режиме GCM в PHP 7.1+
]]>
Пример шифрования AES с аутентификацией до PHP 7.1
]]>
&reftitle.seealso;
openssl_decrypt