Criptografia: Funções de Hash no JSONata ($md5 e $sha256)
O JSONata disponibiliza funções de hash criptográfico que permitem transformar valores em representações únicas e determinísticas.
Essas funções podem ser usadas para:
Garantir a integridade de dados
Criar identificadores únicos
Anonimizar valores sensíveis
Garantir compatibilidade com sistemas externos
Funções suportadas:
$md5(value)
$sha256(value, digestFormat?)
Diferença entre MD5 e SHA-256
MD5
32 caracteres (128 bits)
Fraca, suscetível a colisões
Checksums, validação simples
SHA-256
64 caracteres (256 bits)
Forte, recomendado
Autenticação, blockchain, criptografia
Função $md5(value)
Calcula o hash MD5 do valor fornecido.
Retorno: string hexadecimal fixa de 32 caracteres.
Não possui parâmetro de digest.
Exemplo
Entrada:
{ "status": "200" }
Expressão:
$md5(status)

Saída:
{ "data": "3644a684f98ea8fe223c713b77189a77" }

Função $sha256(value, digestFormat?)
Calcula o hash SHA-256 do valor fornecido.
Retorno: string fixa de 64 caracteres em hexadecimal (por padrão).
Suporta o parâmetro digestFormat para alterar o formato da saída.
Formatos suportados (digestFormat)
"hex" (padrão)
Representação hexadecimal
27badc983df1780b60c2...
"base64"
Base64 padrão
J7cmD3xeAtgwrP6nToZoA...
"base64url"
Base64 adaptado para URLs/JWTs
J7cmD3xeAtgwrP6nToZoA...
Exemplos práticos
SHA-256 em hex (default)
Entrada:
{ "status": "200" }
Expressão:
$sha256(status)

Saída:
{ "data": "27badc983df1780b60c2b3fa9d3a19a00e46aac798451f0febdca52920faaddf" }

SHA-256 em Base64
Entrada:
{ "status": "200" }
Expressão:
$sha256(status,"base64")

Saída:
{ "data": "J7cmD3xeAtgwrP6nToZoA5GqseYRR8P69y1KSD6rd8=" }

SHA-256 em JSON complexo (hex)
Entrada:
{ "response": "{...objeto JSON...}" }
Expressão:
$sha256(response)

Saída:
{ "data": "885826bd782b9b92cca593385729cc17ea05ca3f8f68935c5a1613102dfc066" }

Resumo dos tipos de digest
hex
Representação hexadecimal (padrão)
base64
Representação em Base64 padrão
base64url
Base64 adaptado para URLs/JWTs
Last updated