Hash

Um hash é uma função que converte um valor em outro. O hashing de dados é uma prática comum em ciência da computação e é usado para várias finalidades diferentes. Alguns exemplos incluem criptografia, compressão, geração de somas de verificação e indexação de dados.

O hashing é naturalmente adequado para a criptografia porque oculta os dados originais com outro valor. Uma função hash pode ser usada para gerar um valor que só pode ser decodificado consultando esse valor em uma tabela hash. A tabela pode ser um vetor, um banco de dados ou outra estrutura de dados. Uma boa função hash criptográfica não é inversível, o que significa que não pode ser submetida a engenharia reversa.

Como os valores hash geralmente são menores que os originais, é possível que uma função hash gere valores hash duplicados. Eles são conhecidos como "colisões" e ocorrem quando valores idênticos são produzidos a partir de dados de origem diferentes. As colisões podem ser resolvidas usando várias funções hash ou criando uma tabela de transbordamento quando valores hash duplicados são encontrados. As colisões podem ser evitadas usando valores hash maiores.

Diferentes tipos de compressão, como a compressão de imagens com perdas e a compressão de mídia, podem incorporar funções hash para reduzir o tamanho dos arquivos. Ao transformar dados em valores menores por meio de hashing, os arquivos de mídia podem ser comprimidos em blocos menores. Esse tipo de hashing unidirecional não pode ser revertido, mas pode produzir uma aproximação dos dados originais que ocupa menos espaço em disco.

Os hashes também são usados para criar somas de verificação, que validam a integridade de arquivos. Uma soma de verificação é um valor pequeno gerado com base nos bits de um arquivo ou bloco de dados, como uma imagem de disco. Quando a função de soma de verificação é executada em uma cópia do arquivo, como um arquivo baixado da Internet, ela deve produzir o mesmo valor hash que o arquivo original. Se o arquivo não produzir a mesma soma de verificação, algo no arquivo foi alterado.

Por fim, os hashes são usados para indexar dados. Os valores de hashing podem ser usados para mapear dados para "compartimentos" individuais dentro de uma tabela hash. Cada compartimento tem um ID exclusivo que funciona como um ponteiro para os dados originais. Isso cria um índice significativamente menor que os dados originais, permitindo que os valores sejam pesquisados e acessados com mais eficiência.

Atualizado April 21, 2018 por Per C.

quizTeste seus conhecimentos

Clicking on the menu bar in macOS produces what?

A
Contextual menu
0%
B
Dropdown menu
0%
C
Pop-up menu
0%
D
Ribbon menu
0%
Correct! Incorrect!     View the Dropdown Menu definition.
More Quizzes →

O dicionário de informática Tech Terms

A definição de Hash nesta página é uma definição original escrita pelos autores do TechTerms.com. Se você quiser fazer referência a esta página ou citar esta definição, use a barra de citação verde logo abaixo da definição.

Nosso objetivo é explicar a terminologia de informática de um jeito fácil de entender. Buscamos precisão e clareza em cada definição que publicamos. Se você tiver comentários sobre esta definição ou quiser sugerir um novo termo técnico, entre em contato.

A newsletter do Tech Terms

Amplie seus conhecimentos técnicos com nossa newsletter diária ou semanal! Assine hoje e receba novos termos e quizzes na sua caixa de entrada.

Assine a newsletter gratuita do TechTerms

Com que frequência você gostaria de receber um e-mail?

Você pode cancelar a assinatura ou alterar a frequência a qualquer momento usando os links disponíveis em cada e-mail. Dúvidas? Entre em contato.

Observação: a newsletter é enviada em inglês.