Jump to content
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

SunShade

hash functions

Recommended Posts

SunShade

boas noite pessoal!algem sera k m podia dar exemplos d hash functions simples ou d algum site k contenha alguns algoritmos que ajudem?eu preciso d converter uma string em inteiro e a funçao atoi nao funciona porque se a string conter caracteres vai retornar 0.

Share this post


Link to post
Share on other sites
Rui Carlos

Em que contexto é que queres usar a função de hash?

Para usar em tabelas de hash? Para usar em criptografia? Para verificar integridade de dados? ...

Para usar com tabelas de hash, podes simplesmente somar todos os elementos do array (embora devas complicar um pouco o algoritmo, caso contrário é fácil haver colisões).

Share this post


Link to post
Share on other sites
SunShade

eu o que estou a fazer e uma tabela em que cada posiçao da tabela e uma  cabeça de uma lista  lista ligada.o programa ta todo a funcionar bem pk consegui fzr uns testes gerando uns numeros random e uma expressao que me garanti-se que eles entravam nos limites da tabela mas nao testo para keys iguais pois cmo sao gerados numeros random essa parte nao testei .Nao e preciso criptografia nem nada disso so queria uma funçao simples que me desse uma dispersao porreira na tabela e uma simples funçao d hashing.vou experimentar somar os elementos do array mas o pior e as colisoes.

Share this post


Link to post
Share on other sites
Jolho

Supondo que a string só tem letras minúsculas, existe uma função porreira.

Cada letra corresponde a um valor a=0,b=1, ...,  z=25.

Multiplicas o valor de cada letra com 26^posicao e somas tudo.

Por exemplo, se tiveres a string "adf" e aplicares esta função ficas com 0*26^0 + 3*26^1+ 5*26^2.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.