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

Algoritmo
Tamanho do Hash
Segurança
Uso Comum

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)

Valor
Descrição
Exemplo de saída

"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

Descrição
Descrição

hex

Representação hexadecimal (padrão)

base64

Representação em Base64 padrão

base64url

Base64 adaptado para URLs/JWTs

Last updated