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.
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.