Hash
Uma hash funcionaria da seguinte maneira, através de uma informação, por exemplo, temos o valor “5000” esse valor pode ser representado por algum código x.
Esse código de hash podemos utilizar para diversas aplicações, como por exemplo verificar a integridade de um determinado arquivo, onde se temos um arquivo FILE, com o uso do algorítimo adequado temos um código CODE. Se transferirmos FILE de um computador para o outro, podemos verificar se tal CODE será igual ao do primeiro computador onde FILE estava.
No entanto existe um problema, se para tal informação termos CODE diferentes ?
Como saber se tal CODE realmente indica sobre aquele arquivo realmente ?
Por isso existe uma preocupação muito grande em relação a isso, da colisão de códigos, então para isso termos que ter algoritmos suficientemente capazes de realizar uma função hash ideal, onde para tal informação x temos unicamente um determinado código
Em alguns casos não tão críticos utilizamos um registro contendo todos os valores de chaves gerados pela função, naquela posição onde se encontra a informação.
Mas a utilização das hash não se limita apenas para integridade de arquivos, mas também a diversas aplicações como por exemplo, no escopo da programação, para realizar buscas de informações armazenadas em estruturas de dados de maneira eficiente e rápida.
No caso onde termos uma informação que será pesquisada, imaginemos que esteja em varias casas uma do lado da outra, devemos realizar uma busca em todas as casas até achar determinada informação. Se tivermos milhares de casas antes da casa que queremos, isso exigiria muito poder computacional e demora.
Nesse caso que entra as funções hash onde temos uma ordenação da informação com base no código gerado pelo algoritmo. Sendo assim quando desejarmos pesquisar