Definição – o que significa código hash?
O código hash no .NET framework é um valor numérico que ajuda na identificação de um objeto durante o teste de igualdade e também pode servir como um índice para o objeto. O valor contido no código hash não é de natureza permanente. O objetivo do código hash é ajudar na pesquisa e inserção eficientes em coleções de dados que são baseadas em uma tabela hash.
Definirtec explica o código Hash
Dois objetos são considerados iguais se retornarem códigos hash iguais. No entanto, a correspondência de códigos hash resultantes não significa necessariamente igualdade de objeto ou, em outras palavras, o inverso não é verdadeiro. Por esse motivo, o código hash nunca deve ser usado fora dos limites do domínio do aplicativo, pois o mesmo objeto pode ter valores diferentes fora do domínio, processos ou plataformas.
Como o valor no código hash é temporário por natureza, ele nunca deve ser usado como uma chave para recuperação de dados de uma coleção de dados com chave e nunca deve ser serializado ou armazenado em bancos de dados. O método GetHashCode é usado na estrutura .NET para obter o código hash. É adequado para algoritmos de hash ou para estruturas de dados, como tabelas de hash. O valor retornado pela função pode ser diferente entre as diferentes versões do .NET framework. Como tal, a estrutura não aprova a implementação padrão do método e, portanto, não deve ser usada para localizar o identificador de objeto exclusivo no caso de propósitos de hash.
O código hash pode ajudar nas tarefas de comparação de dados. Também pode ajudar na criptografia unilateral, já que o valor numérico gerado não pode ser rastreado até os dados da mensagem original.