Pular para o conteúdo principal
Estas funções implementam a criptografia e a descriptografia de dados com o algoritmo AES (Advanced Encryption Standard). O tamanho da chave depende do modo de criptografia: 16, 24 e 32 bytes para os modos -128-, -196- e -256-, respectivamente. O comprimento do vetor de inicialização é sempre de 16 bytes (os bytes que excederem 16 são ignorados).

HMAC

Introduzido em: v25.12.0 Calcula o HMAC (Código de Autenticação de Mensagem baseado em Hash) da mensagem fornecida usando o algoritmo de hash especificado e a chave secreta. Algoritmos de hash compatíveis:
  • blake2b512
  • blake2s256
  • md4
  • md5
  • md5-sha1
  • mdc2
  • ripemd (aliases: RIPEMD160, ripemd)
  • ripemd160
  • rmd160 (aliases: RIPEMD160, rmd160)
  • sha1
  • sha224
  • sha256
  • sha3-224
  • sha3-256
  • sha3-384
  • sha3-512
  • sha384
  • sha512
  • sha512-224
  • sha512-256
  • shake128
  • shake256
  • sm3
  • ssl3-md5 (aliases: MD5, ssl3-md5)
  • ssl3-sha1 (aliases: SHA1, ssl3-sha1)
  • whirlpool
Sintaxe
Argumentos
  • mode — Nome do algoritmo de hash (não diferencia maiúsculas de minúsculas). Compatível com: md5, sha1, sha224, sha256, sha384, sha512. String
  • message — Mensagem a ser autenticada. String
  • key — Chave secreta para HMAC. String
Valor retornado Retorna uma string binária que contém o resumo HMAC. String Exemplos HMAC-SHA256 básico
Query
Response
Diferentes algoritmos de hash
Query
Response
Modo não sensível a maiúsculas e minúsculas
Query
Response

aes_decrypt_mysql

Introduzido em: v20.12.0 Descriptografa dados criptografados pela função AES_ENCRYPT do MySQL. Produz o mesmo texto em claro que decrypt para as mesmas entradas. Quando key ou iv são maiores do que deveriam ser, aes_decrypt_mysql seguirá o comportamento de aes_decrypt do MySQL: fazer o ‘fold’ de key e ignorar os bits excedentes de IV. Compatível com os seguintes modos de descriptografia:
  • aes-128-ecb, aes-192-ecb, aes-256-ecb
  • aes-128-cbc, aes-192-cbc, aes-256-cbc
  • aes-128-cfb128
  • aes-128-ofb, aes-192-ofb, aes-256-ofb
Sintaxe
Argumentos
  • mode — Modo de descriptografia. String
  • ciphertext — Texto cifrado que precisa ser descriptografado. String
  • key — Chave de descriptografia. String
  • iv — Opcional. Vetor de inicialização. String
Valor retornado Retorna a String descriptografada. String Exemplos Descriptografar dados do MySQL
Query
Response

aes_encrypt_mysql

Introduzido em: v20.12.0 Criptografa texto da mesma forma que a função AES_ENCRYPT do MySQL. O texto cifrado resultante pode ser descriptografado com a função AES_DECRYPT do MySQL. Produz o mesmo texto cifrado que a função encrypt para as mesmas entradas. Quando key ou iv forem maiores do que o normal, aes_encrypt_mysql seguirá o comportamento do aes_encrypt do MySQL: “dobrar” key e ignorar os bits excedentes de iv. Os modos de criptografia compatíveis são:
  • aes-128-ecb, aes-192-ecb, aes-256-ecb
  • aes-128-cbc, aes-192-cbc, aes-256-cbc
  • aes-128-ofb, aes-192-ofb, aes-256-ofb
Sintaxe
Argumentos
  • mode — Modo de criptografia. String
  • plaintext — Texto que deve ser criptografado. String
  • key — Chave de criptografia. Se a chave for maior do que o exigido por mode, é aplicado o key folding específico do MySQL. String
  • iv — Opcional. Vetor de inicialização. Apenas os 16 primeiros bytes são considerados. String
Valor retornado String binária contendo o texto cifrado. String Exemplos Comparação de entradas iguais
Query
Response
Falha na criptografia com chave longa
Query
Response
Compatibilidade com MySQL
Query
Response
Um IV mais longo gera o mesmo resultado
Query
Response

decrypt

Introduzido em: v20.12.0 Esta função descriptografa uma string binária criptografada com AES usando os seguintes modos:
  • aes-128-ecb, aes-192-ecb, aes-256-ecb
  • aes-128-cbc, aes-192-cbc, aes-256-cbc
  • aes-128-ofb, aes-192-ofb, aes-256-ofb
  • aes-128-gcm, aes-192-gcm, aes-256-gcm
  • aes-128-ctr, aes-192-ctr, aes-256-ctr
  • aes-128-cfb, aes-128-cfb1, aes-128-cfb8
Sintaxe
Argumentos
  • mode — Modo de descriptografia. String
  • ciphertext — Texto cifrado que deve ser descriptografado. String
  • key — Chave de descriptografia. String
  • iv — Vetor de inicialização. Obrigatório para os modos -gcm, opcional para os demais. String
  • aad — Dados autenticados adicionais. A descriptografia falhará se esse valor estiver incorreto. Funciona apenas nos modos -gcm; nos demais, lança uma exceção. String
Valor retornado Retorna o texto em claro descriptografado. String Exemplos Descriptografando corretamente dados criptografados
Query
Response
Descriptografia incorreta de dados criptografados
Query
Response

encrypt

Introduzido em: v20.12.0 Criptografa texto em claro em texto cifrado com AES em um dos seguintes modos:
  • aes-128-ecb, aes-192-ecb, aes-256-ecb
  • aes-128-cbc, aes-192-cbc, aes-256-cbc
  • aes-128-ofb, aes-192-ofb, aes-256-ofb
  • aes-128-gcm, aes-192-gcm, aes-256-gcm
  • aes-128-ctr, aes-192-ctr, aes-256-ctr
  • aes-128-cfb, aes-128-cfb1, aes-128-cfb8
Sintaxe
Argumentos
  • mode — Modo de criptografia. String
  • plaintext — Texto que deve ser criptografado. String
  • key — Chave de criptografia. String
  • iv — Vetor de inicialização. Obrigatório para modos -gcm e opcional para os demais. String
  • aad — Dados autenticados adicionais. Não são criptografados, mas afetam a descriptografia. Funciona apenas em modos -gcm; nos demais, lança uma exceção. String
Valor retornado Retorna o texto cifrado como uma string binária. String Exemplos Exemplo de criptografia
Query
Response
Exemplo no modo GCM
Query
Response

tryDecrypt

Introduzido em: v22.10.0 Semelhante à função decrypt, mas retorna NULL se a descriptografia falhar ao usar a chave incorreta. Sintaxe
Argumentos
  • mode — Modo de descriptografia. String
  • ciphertext — Texto cifrado que deve ser descriptografado. String
  • key — Chave de descriptografia. String
  • iv — Opcional. Vetor de inicialização. Obrigatório para modos -gcm e opcional para os demais. String
  • aad — Opcional. Dados autenticados adicionais. A descriptografia não funcionará se esse valor estiver incorreto. Funciona apenas em modos -gcm; nos outros modos, lança uma exceção. String
Valor retornado Retorna a String descriptografada ou NULL se a descriptografia falhar. Nullable(String) Exemplos Criar tabela e inserir dados
Query
Response
Última modificação em 2 de julho de 2026