fileGetHash
Calcula o hash do conteúdo do arquivo.
Sintaxe
Seção intitulada “Sintaxe”string fileGetHash ( file oArquivo, string algoritmo [, table opcoes ] )Parâmetros
Seção intitulada “Parâmetros”| Nome | Tipo | Padrão | Descrição |
|---|---|---|---|
oArquivo | file | — | Handle aberto. |
algoritmo | string | — | md5, sha1, sha224, sha256, sha384, sha512 ou hmac. Maiúsculas e minúsculas não importam. |
opcoes | table | — | Usado com hmac: key com a chave secreta e algorithm com um dos algoritmos da lista acima. |
O hash é calculado sobre o conteúdo atual, incluindo escritas que ainda não foram gravadas no disco.
Retorno
Seção intitulada “Retorno”O hash em hexadecimal minúsculo, ou nil se o handle for inválido, o algoritmo não existir ou o hmac estiver sem key e algorithm válidos.
No cliente, um handle inválido, um algoritmo desconhecido ou um opcoes que não seja tabela levanta um erro (Bad argument @ 'fileGetHash' [...]) que interrompe o código chamador em vez de devolver nil; uma opção de hmac inválida continua devolvendo nil com um aviso.
Exemplo
Seção intitulada “Exemplo”local arquivo = fileOpen("dados/save.bin", true)
local md5 = fileGetHash(arquivo, "md5")local assinatura = fileGetHash(arquivo, "hmac", { key = "segredo", algorithm = "sha256" })
fileClose(arquivo)Veja também
Seção intitulada “Veja também”fileOpen— Abre um arquivo existente.fileCreate— Cria um arquivo novo, ou zera um que já exista.fileClose— Grava as alterações pendentes no disco e fecha o arquivo.fileFlush— Grava no disco o que foi escrito até agora, sem fechar o arquivo.fileRead— Lê bytes a partir da posição atual.fileWrite— Escreve uma ou mais strings a partir da posição atual.fileGetContents— Devolve o conteúdo inteiro do arquivo.fileGetSize— Devolve o tamanho do arquivo em bytes.