openssl_decrypt

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

openssl_decryptDescritografa dados

Descrição

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

Descriptografa uma string bruta ou codificada em base64 usando um determinado método e senha.

Parâmetros

data

A mensagem criptografada a ser descriptografada.

cipher_algo

O método de criptografia. Para obter uma lista de métodos de criptografia disponíveis, use openssl_get_cipher_methods().

passphrase

A senha. Se a senha for menor que o esperado, ela será preenchida silenciosamente com caracteres NUL; se a senha for maior que o esperado, ela será truncada silenciosamente.

Cuidado

Não há função de derivação de chave usada para passphrase como o próprio nome pode sugerir. A única operação utilizada é o preenchimento com caracteres NUL ou truncamento se o comprimento for diferente do esperado.

options

options pode ser uma das constantes OPENSSL_RAW_DATA, OPENSSL_ZERO_PADDING ou OPENSSL_DONT_ZERO_PAD_KEY.

iv

Um Vetor de Inicialização (IV) não-null. Se o IV for menor que o esperado, ele será preenchido com caracteres NUL e um alerta será emitido; se a senha for maior que o esperado, ela será truncada e um alerta será emitido.

tag

A etiqueta de autenticação no modo de criptografia AEAD. Se estiver incorreto, a autenticação falha e a função retorna false.

Cuidado

O comprimento da etiqueta tag não é verificado pela função. É responsabilidade do chamador garantir que o comprimento da etiqueta corresponda ao comprimento da etiqueta recuperada quando openssl_encrypt() for chamada. Caso contrário, a descriptografia poderá ser bem-sucedida se a etiqueta fornecida corresponder apenas ao início da etiqueta adequada.

aad

Dados autenticados adicionais.

Valor Retornado

A string descriptografada em caso de sucesso ou false em caso de falha.

Erros/Exceções

Emite um erro de nível E_WARNING se um algoritmo de criptografia desconhecido for passado através do parâmetro cipher_algo.

Emite um erro de nível E_WARNING se um valor vazio for passado através do parâmetro iv.

Registro de Alterações

Versão Descrição
8.1.0 tag agora pode ser nulo.
7.1.0 Os parâmetros tag e aad foram adicionados.

Veja Também