Skip to main content

O que é uma assinatura de arquivo?

Uma assinatura de arquivo na programação de computadores é um número de identificação exclusivo localizado no início de um arquivo. Este número identifica o tipo de arquivo, fornecendo informações sobre os dados contidos no arquivo real. Essas informações podem ser usadas para determinar que tipo de arquivo está sendo lido quando a extensão ou erro do usuário o identificou incorretamente como um tipo incorreto. A assinatura do arquivo também pode conter informações que garantem que os dados originais que foram armazenados no arquivo ainda estão intactos e não foram modificados. A combinação desses elementos permite que uma assinatura de arquivo sirva como uma importante forma de verificação, especialmente contra vírus de computador.

O conceito de uma assinatura de arquivo surgiu devido à necessidade de um cabeçalho de arquivo, um bloco de dados no início de um arquivo que define os parâmetros de como as informações são armazenadas no arquivo. Parte das informações do cabeçalho é uma sequência de bytes que define o tipo de arquivo criado originalmente. Pode ser um arquivo de imagem, um documento de um programa específico ou mesmo um tipo de protocolo quando um fluxo de arquivos está sendo usado como um método de comunicação entre um cliente e um servidor. O cabeçalho do arquivo não usa um padrão definido; em vez disso, é proprietário de cada formato diferente, o que significa que um programa ou sistema operacional precisa de um banco de dados de assinatura de arquivo para determinar o tipo de arquivo desconhecido.

A assinatura do arquivo real às vezes é chamada de número mágico. Na programação, esse é um valor exclusivo no campo de dados que ocupa. Ao olhar para um cabeçalho de arquivo para determinar o tipo de arquivo, isso significa que não há duas assinaturas iguais, permitindo que cada tipo de formato tenha uma sequência de bytes de identificação distinta. Isso pode ser de uso particular ao lidar com a transferência e interpretação de arquivos on-line, onde a extensão de identificação de um arquivo pode ser arbitrária e não pode ser considerada um identificador para um tipo de arquivo.

Além do tipo de arquivo, uma assinatura de arquivo também pode conter informações que permitem que a verificação de erros seja realizada em um arquivo, para que os dados que ele está mantendo possam ser confirmados como intactos. Isso geralmente é realizado usando uma função conhecida como soma de verificação. Uma soma de verificação é uma função que usa os valores inteiros dos dados do arquivo para criar valores matemáticos que podem ser replicados depois que um arquivo é transferido ou carregado. Na forma mais básica, esse processo envolve adicionar os valores de uma série de bytes no arquivo e depois gravar a soma, permitindo que o programa decodifique o arquivo para executar a mesma função. Se os resultados forem diferentes durante a decodificação, o arquivo poderá estar corrompido e os dados poderão ser inválidos ou modificados para fins maliciosos.