Pular para o conteúdo principal

SHA256

Descrição

A função SHA256 converte uma string em um hash hexadecimal SHA-2 de 256 bits. É muito útil para gerar identificadores únicos e não reversíveis a partir de dados sensíveis como CPF, e-mail ou tokens de verificação - cenários comuns em réguas de relacionamento e Cloud Pages no mercado brasileiro. O retorno é uma string hexadecimal de 64 caracteres.

Sintaxe

SHA256(stringToConvert [, charSet])

Parâmetros

ParâmetroTipoObrigatórioDescrição
stringToConvertStringSimA string que será convertida em hash SHA-256.
charSetStringNãoO conjunto de caracteres usado na codificação. O valor padrão é UTF-8. Também aceita UTF-16.

Exemplo básico

Gerando um hash SHA-256 a partir do e-mail de um cliente para usar como identificador único em links de CloudPages.

%%[
SET @email = "joao.silva@gmail.com"
SET @hash = SHA256(@email)
]%%

Hash do e-mail: %%=v(@hash)=%%

Saída:

Hash do e-mail: 99d1f7b534824f35dffa18c3b728ecb00c4585ba9d7c9b26205424f8f28eff8e

Exemplo avançado

Criando um token de verificação baseado no CPF do cliente com codificação UTF-16, usado em um link seguro de confirmação de cadastro numa régua de boas-vindas da Lojas Vitória.

%%[
SET @cpf = "123.456.789-00"
SET @nome = "Maria Santos"

/* Hash com UTF-8 (padrão) para identificador geral */
SET @hashUtf8 = SHA256(@cpf)

/* Hash com UTF-16 para token de verificação */
SET @hashUtf16 = SHA256(@cpf, "UTF-16")

SET @linkConfirmacao = Concat("https://lojasvitoria.com.br/confirmar?token=", @hashUtf16)
]%%

Olá, %%=v(@nome)=%%!

Para confirmar seu cadastro, clique no link abaixo:
%%=v(@linkConfirmacao)=%%

Identificador (UTF-8): %%=v(@hashUtf8)=%%
Token (UTF-16): %%=v(@hashUtf16)=%%

Saída:

Olá, Maria Santos!

Para confirmar seu cadastro, clique no link abaixo:
https://lojasvitoria.com.br/confirmar?token=84b87f1ae08610f97a0bb6c228dd2289a54203c23ee2af17d617a1c1b4a0ab1a

Identificador (UTF-8): 99d1f7b534824f35dffa18c3b728ecb00c4585ba9d7c9b26205424f8f28eff8e
Token (UTF-16): 84b87f1ae08610f97a0bb6c228dd2289a54203c23ee2af17d617a1c1b4a0ab1a

Observações

⚠️ Atenção: O hash gerado com UTF-8 e UTF-16 para a mesma string produz resultados completamente diferentes. Certifique-se de usar o mesmo charset tanto na geração quanto na validação do hash, senão a comparação nunca vai bater.

💡 Dica: SHA-256 é um hash de mão única - não existe forma de reverter o hash para obter o valor original. Por isso, é ideal para criar tokens de verificação e identificadores baseados em dados sensíveis como CPF ou e-mail, sem expor esses dados diretamente na URL.

💡 Dica: Se você precisa apenas de um hash simples e a segurança não é crítica, considere o MD5 que gera um hash menor. Para cenários que exigem um hash ainda mais robusto, use o SHA512.

Funções relacionadas

  • MD5 - gera hash MD5 de 128 bits (menor, porém menos seguro)
  • SHA1 - gera hash SHA-1 de 160 bits
  • SHA512 - gera hash SHA-2 de 512 bits (mais robusto)
  • Base64Encode - codifica string em Base64 (reversível, diferente de hash)
  • Concat - útil para combinar valores antes de gerar o hash