hashCode String

6 respostas
Guilherme_Gomes

Existe alguma maneira de receber uma String a partir de um hashCode, a situação abaixo representa o que quero:

String x = "lalala";
int hash = x.hashCode();
String y = getStringByHashCode(hash);

if(y.equals(x))
     //Tem que entrar aqui

6 Respostas

T

Um hashcode é um inteiro e isso quer dizer que há no máximo 2 ^32 = 4.294.967.296 possíveis.
Mas o número de strings possíveis é muito maior que 2 ^ 32 (por exemplo, o número das strings com 10 letras de A até Z é 141.167.095.653.376, ou seja, dadas duas strings diferentes, pode ser que seus hashcodes sejam iguais.)

Vou procurar na minha máquina um exemplo que dei uma vez de duas strings com o mesmo hashcode.

Amanweb

Não é possível.

T

http://www.guj.com.br/posts/list/72204.java

sergiotaborda

Guilherme Gomes:
Existe alguma maneira de receber uma String a partir de um hashCode

não. Pelo simples facto que uma função de hash é um método de encriptação de mão-única (one-way).
O que significa que vc pode escriptar, mas não pode desencriptar.

T

É curioso que as palavras “desprezível” e “auréola” tenham o mesmo hashCode.
Parece algo do “Código da Bíblia” - alguém que é desprezível aos olhos dos homens na verdade pode ter uma auréola de santidade…

Dieval_Guizelini

Guilherme,

se você precisa de funções de hash mais seguras, ou com maior conjunto de possibilidades, recomendo dar uma olhada em md5 ou sha.

fw

Criado 20 de fevereiro de 2008
Ultima resposta 20 de fev. de 2008
Respostas 6
Participantes 5