Pular para o conteúdo

hash

Compartilhada Criptografia

Calcula o hash de uma string com o algoritmo escolhido.

string hash ( string algoritmo, string dados [, table opcoes ] )
NomeTipoPadrãoDescrição
algoritmostring—Nome do algoritmo, sem diferenciar maiúsculas de minúsculas.
dadosstring—Conteúdo a resumir.
opcoestable—Só usada por hmac.

Algoritmos aceitos

NomeTamanho do resultado
md532 caracteres
sha140 caracteres
sha22456 caracteres
sha25664 caracteres
sha38496 caracteres
sha512128 caracteres
hmacdepende do algoritmo interno escolhido

Para hmac, a tabela opcoes precisa trazer:

CampoTipoDescrição
keystringChave secreta. Não pode ser vazia.
algorithmstringAlgoritmo interno: um dos nomes da tabela acima, exceto hmac.

O hash em hexadecimal minúsculo, ou false se o algoritmo for desconhecido, ou se hmac for pedido sem chave ou sem um algoritmo interno válido.

-- assinando um corpo de requisição antes de enviá-lo
local assinatura = hash("hmac", corpo, {
key = "minha-chave-secreta",
algorithm = "sha256"
})
  • md5 — Calcula o hash MD5 de uma string.
  • sha256 — Calcula o hash SHA-256 de uma string.
  • teaEncode — Cifra uma string com XTEA e devolve o resultado em Base64.
  • teaDecode — Desfaz um teaEncode.
  • encodeString — Codifica ou cifra uma string com o algoritmo escolhido.
  • decodeString — Desfaz um encodeString.
  • generateKeyPair — Gera um par de chaves RSA.