Pular para o conteúdo

fileGetHash

Compartilhada Arquivos OOP File.getHash(...)arquivo:getHash(...)` (só no cliente)

Calcula o hash do conteúdo do arquivo.

string fileGetHash ( file oArquivo, string algoritmo [, table opcoes ] )
NomeTipoPadrãoDescrição
oArquivofile—Handle aberto.
algoritmostring—md5, sha1, sha224, sha256, sha384, sha512 ou hmac. Maiúsculas e minúsculas não importam.
opcoestable—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.

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.

local arquivo = fileOpen("dados/save.bin", true)
local md5 = fileGetHash(arquivo, "md5")
local assinatura = fileGetHash(arquivo, "hmac", { key = "segredo", algorithm = "sha256" })
fileClose(arquivo)
  • 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.