Metadados e Hash – Alterar Metadado altera o Hash?

Antes de entrar em detalhes é bom sabermos o que é um hash e o que é metadado

 

metadados

Conforme falado em outros Artigos publicados aqui, sabemos que metadados são informações do arquivo, como “data de criação”, “data de modificação”, “nome do arquivo”, “proprietário”, “Autor” etc. Essas informações geralmente podem ser exibidas ao clicarmos no arquivo com o botão direito do mouse  e em seguida escolhermos propriedades.

Em relação ao local de armazenamento, há dois tipos de metadados:

  • Metadados do Aplicativo(Application Metadata): São os metadados que ficam dentro do arquivo. Esses metadados são criados pelo programa(aplicativo) que criou o arquivo. Quando copiamos ou movemos o arquivo de um computador para outro esses metadados não se perdem.
  • Metadados do Sistema(System Metadata): São os metadados  criados pelo Sistema Oeracional(windows, Linux) ou pelo usuário e esses metadados ficam fora do arquivo. Como exemplo temos os metadados “localização(ou path em inglês)”, “carimbo  de data e hora” que indicam quando o documento foi criado, acessado e modificado.

Os metadados do sistema podem ser alterados sem impactar o arquivo, não alterando a sua estrutura. Um exemplo de um metadado de sistema é o “nome do arquivo”.

Hash

O hash é uma espécie de “impressão digital” do arquivo. Assim como cada pessoa possui sua digital é possível identificarmos o arquivo pelo seu hash. Em inglês é usado o termo fingerprint significando impressão digital.

Serve para verificar a integridade do arquivo. Se uma pessoa lhe enviou um arquivo verifique se o hash do arquivo recebido é o mesmo do arquivo que está no computador de quem enviou. Se o hash for diferente é porque durante o trajeto houve alteração indevida  no conteúdo do arquivo.

Hash é uma sequência de caracteres que representa o arquivo. Quando o arquivo tem seu conteúdo alterado então o hash é alterado também.

Há diversos tipos(algorítimos) de hashs: md5, sha1, sha2….

Exemplo, usarei o comando sha1sum para vermos o  hash(do tipo sha-1) atual do arquivo 021.pdf

[root@srvsidoc 01]# sha1sum 021.pdf
05ce5736c0185eb20552d16da0ac461fff09d769  021.pdf

Agora alterei o conteúdo do arquivo 021.pdf e veja como o hash também foi alterado

[root@srvsidoc 01]# sha1sum 021.pdf
835071d2830224f45914cc4f9f14cf631475aea0  021.pdf

 

Outro exemplo usando um arquivo .docx criado com o wps Office

hash atual para arquivo.docx

elder@ti:~/$ sha1sum arquivo.docx 
d08bd8a168f3502d3cf7f34d46474e59c6017a22  arquivo.docx

alterando o metadado de nome do usuário para arquivo.docx. Para isso usei o próprio wps office. Fui em “arquivo–>informação do arquivo–>propriedades”

 

Alterado o metadado acima e salvo o arquivo, vamos ver o hash

Hash atual após alteração

hash foi alterado? Sim, foi alterado após alterarmos um metadado.

elder@ti:~/$ sha1sum arquivo.docx 
974940bccc6017f45fe00b16d391717355e0e463  arquivo.docx

 

Dúvidas e Respostas sobre Hash

O hash irá mudar se eu:

  • Alterar/renomear a extensão de um arquivo de .doc para .jpg?
    Não irá mudar o hash. Conforme dito acima, o nome do arquivo é um metadado do sistema e, assim, fica armazenado fora do arquivo. Não irá alterar o conteúdo do arquivo.
  • Copiar o arquivo para um pendrive?
    Sim. O arquivo novo dentro do pendrive irá ter novos metadados, e portanto um novo hash. O novo arquivo terá metadados diferentes como localização, data de criação e de acesso.
  • Salvar um arquivo do word como pdf?
    Sim, O novo arquivo pdf criado irá possuir um novo hash, já que se trata de um outro arquivo.
  • Se enviar um arquivo anexado no e-mail para alguém e essa pessoa reenviar para mim novamente?
    Não irá alterar o hash. Isso mesmo! Quando anexa um arquivo em um e-mail esse arquivo é codificado em base64 para transmissão; mas a pessoa que recebeu o arquivo terá o arquivo descodificado em seu computador e contendo o mesmo conteúdo e hash. O arquivo deverá, portanto, possuir o mesmo hash não importando quantas vezes ele é enviado por email.
  • Colar o texto de um arquivo .doc dentro do corpo de um e-mail, enviar esse e-mail para mim mesmo e colar o mesmo texto em um novo documento .doc?
    Irá possuir outro hash. Esse novo arquivo .doc, logicamente, é um novo arquivo.
  • Abrir o editor de texto, imprimir um documento .doc sem salvar ou alterar o conteúdo do arquivo?
    Sim, irá alterar o hash. Levando em consideração o Microsoft word, ao imprimir, o documento terá um novo metadado avisando qual a “última vez que foi impresso”. Alterando o metadado também é alterada a estrutura do documento.
  • Renomear o arquivo sem abrir o arquivo no editor de texto?Não alterará o hash. O nome do arquivo é um metadado fora do arquivo, um metadado do sistema.
  • Usar a opção “salvar como” e criar uma cópia do arquivo com um novo nome?
    Sim. Alterará o hash. Isso porque será criado um outro documento. Mesmo que contenha o conteúdo idêntico  ao original.

 

Conclusão

 

Hash e metadados são muito importantes para o dia a dia. Temos artigos falando sobre metadados. Clique aqui. Quanto à hash, por enquanto, não publicamos outros artigos a respeito ainda. Porém, pelo pouco que citamos aqui podemos ver a sua imensa importância.

 

Fontes: craigball.bet, gnulinuxbrasil

Leitor voraz e um dos administradores do GNU/Linux Brasil no Whatsapp, facebook, youtube e nesse dito site: www.gnulinuxbrasil.com.br

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *