Uma função hash unilateral é uma função matemática que gera uma impressão digital da entrada, mas não há como voltar à entrada original. Se a entrada for a mesma, o hash será sempre o mesmo, se for alterado, mesmo por um caractere, o hash de saída será completamente diferente. Um hash pode ser usado para verificar se a entrada A é idêntica à entrada B, mas não pode ser usado para obter a entrada de volta da saída como com outra função matemática, criptografia.
Technipages explica a função Hash unidirecional
A saída de um hash unilateral é sempre o mesmo comprimento, não importa o tamanho da entrada. Por exemplo, a saída para o algoritmo de hash md5 é sempre de 32 caracteres se representado em hexadecimal, isso é verdadeiro se a entrada tiver um caractere ou o comprimento de todas as obras de Shakespeare.
Um hash é ideal para verificar se duas coisas são idênticas; isso tem dois usos principais. “Verificação de integridade” é usada para verificar se um arquivo que foi baixado é idêntico ao do servidor, comparando um hash conhecido do arquivo do servidor com um hash do arquivo baixado.
Algoritmos de hash também são usados em bancos de dados para verificar se o hash da senha enviada corresponde ao hash armazenado. Isso também significa que, se um hacker obtiver acesso não autorizado ao banco de dados, ele não obterá senhas, mas seus hashes, que não podem ser usados para efetuar login diretamente.
O comprimento da saída de um algoritmo de hash define limites de quantas saídas possíveis existem e, como tal, descreve sua força contra “ataques de colisão” de hash. Ataques de colisão ocorrem quando duas entradas diferentes geram a mesma saída. É muito difícil encontrar duas entradas aleatórias que geram a mesma saída, é significativamente mais difícil encontrar uma colisão para uma única saída hash específica.
Usos comuns da função Hash unilateral
- Existem dois tipos de algoritmos de hash unilateral, rápido e lento, rápido é usado para verificação de arquivo e lento para hash de senha.
- A entrada de um algoritmo de hash unilateral não pode ser determinada analisando a saída ou executando-a por meio de outra função.
- Quando um hacker tem uma lista de hashes de senha de um banco de dados roubado, ele calcula qual algoritmo de hash unilateral foi usado e adivinha como tantas senhas possíveis quanto eles podem, quando eles têm uma saída que corresponde a uma entrada no banco de dados, eles sabem que a entrada é do usuário senha.
Uso indevido comum da função hash unilateral
- Um algoritmo de hash unilateral é um tipo de criptografia e pode ser usado para armazenar dados com segurança para recuperação em uma data posterior com o uso de uma senha e outra função.