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âmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| stringToConvert | String | Sim | A string que será convertida em hash SHA-256. |
| charSet | String | Não | O 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-8eUTF-16para 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