Home : Termos de Software : Definição de hash

de hash

Um hash é um função que converte um valor para outro. Hashing dados é uma prática comum em Ciência da Computação e é usado para vários propósitos diferentes. Exemplos incluem criptografia, compressão, checksum geração e dados indexação.

Hashing é um ajuste natural para criptografia porque mascara os dados originais com outro valor. Uma função de hash pode ser usada para gerar um valor que só pode ser decodificado procurando o valor de uma tabela de hash. A tabela pode ser uma ordem, banco de dadosou outra estrutura de dados. Uma boa função de hash criptográfico não é invertível, o que significa que não pode ser modificada por engenharia reversa.

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

Diferentes tipos de compactação, como lossy compressão de imagem e compressão de mídia, pode incorporar funções de hash para reduzir o tamanho do arquivo. Ao agrupar os dados em valores menores, os arquivos de mídia podem ser compactados em pedaços menores. Esse tipo de hash unidirecional não pode ser revertido, mas pode produzir uma aproximação dos dados originais que requerem menos espaço em disco.

Hashes também são usados ​​para criar somas de verificação, que validam a integridade de arquivos. Uma soma de verificação é um pequeno valor gerado com base no pedaços em um arquivo ou bloco de dados, como um 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 de hash do arquivo original. Se o arquivo não produzir a mesma soma de verificação, algo no arquivo foi alterado.

Finalmente, os hashes são usados ​​para indexar dados. Os valores de hash podem ser usados ​​para mapear dados para "buckets" individuais dentro de um hash mesa. Cada bloco tem um ID exclusivo que serve 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.

TechLib - O dicionário de informática Lib Tech

Esta página contém uma definição técnica de Hash. Explica na terminologia de computação o que Hash significa e é um dos muitos termos de software no dicionário TechLib.

Todas as definições no site da TechLib foram escritas para serem tecnicamente precisas, mas também fáceis de entender. Se você achar útil essa definição de Hash, pode fazer referência a ela usando os links de citação acima.