Complementando o que o João disse: é possível encontrar o texto de entrada a partir do texto de saída, mas o tempo para esse processamento, com os recursos computacionais atualmente disponíveis, levaria milhões de anos.
Muitas das funções hash se baseam na dificuldade de fatoração de números primos, e no fato de que não é conhecido um algoritmo capaz de fazer tal fatoração em tempo polinomial. Um grande abraço, Luiz Reginaldo ----- Original Message ----- From: "João Paulo Batistella" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Tuesday, May 07, 2002 10:39 AM Subject: Re: [java-list] Password > Garante sim. > > A função hash funciona assim: > Dado um texto de entrada, uma saída é gerada. > A partir da saída, é impossível se chegar novamente ao > texto da entrada. Mas dada a mesma entrada, a mesma > saída é gerada. > Se vc aplica essa função na senha do usuário quando o > está cadastrando ou trocando de senha, o que fica > guardado é essa saída, que não significa nada para > ninguém que venha a pegar esse arquivo. Quando o > usuário vai logar, vc aplica a função na entrada dele > e, se bater o resultado com o que está guardado, ele > bateu a senha correta. > Esse tipo de autenticação é usado no UNIX. > > JP > > --- [EMAIL PROTECTED] wrote: > > Mas Marco, na realidade esse algoritmo nao garante > > seguranca nenhuma, ou > > nao? > > Como gravar em um arquivo essa "password" se quando > > transformada em string > > fica identica? > > > > Atenciosamente > > PAULO BRANCO > > DIRETIVA DIGITAL > > > > > > > > > > "Marco Aurelio Vilela Garcia" <[EMAIL PROTECTED]> > > 06/05/2002 12:54 > > Please respond to java-list > > > > > > To: <[EMAIL PROTECTED]> > > cc: > > Subject: Re: [java-list] Password > > > > > > Caro Matheus; > > No caso de criptografar uma senha, eu sugiro que não > > utilize nada para > > criptografia. A documentação ainda está fraca, pois > > a API de criptografia > > foi liberada para usuários fora dos EUA há muito > > pouco tempo. É possível > > obter uma funcionalidade parecida usando um digesto > > de mensagem. > > O procedimento é o seguinte: uma classe irá, a > > partir da sua senha, criar > > uma string que parece ser criptografada. Mas não se > > trata de criptografia, > > é > > apenas uma forma de autenticação. Eu estou usando > > isso para armazenar > > senhas > > numa base de dados. Estou satisfeito até agora. > > > > Logo abaixo escrevo um código para vc experimentar. > > > > Abraços > > Marco > > > > > > > > import java.security.*; > > > > /** > > * @author Marco Aurélio Vilela Garcia > > * @version 1,0 > > */ > > public final class PasswordEncDec { > > > > public static String cryptSenha(String senha){ > > try{ > > MessageDigest md = > > MessageDigest.getInstance("SHA"); > > byte[] buf = senha.getBytes(); > > md.update(buf); > > byte[] digest = md.digest(); > > > > return new String(digest); > > } > > catch(NoSuchAlgorithmException nsae){ > > > > > System.err.println("==============================================="); > > > > > System.err.println("==============================================="); > > System.err.println(" Erro > > acontecendo no > > PasswordEncDec"); > > System.err.println(" Método > > cryptSenha "); > > System.err.println("Exceção: "+ nsae); > > > > > System.err.println("==============================================="); > > > > > System.err.println("==============================================="); > > return null; > > } > > } > > } > > > > > > > > ----- Original Message ----- > > From: "MATHEUS Fabio O CONFAB" > > <[EMAIL PROTECTED]> > > To: <[EMAIL PROTECTED]> > > Sent: Monday, May 06, 2002 8:54 AM > > Subject: [java-list] Password > > > > > > Pessoall, > > > > Alguém teria um exemplo simples de criptografia de > > uma string, ou > > simplesmente só o algoritimo?? > > Qquer ajuda seria importante.. > > > > Grato e boa semana! > > Fábio Oliveira Matheus > > Confab Industrial S/A. - Depto. Sistemas > > Pindamonhangaba - São Paulo - Brasil > > E-Mail: [EMAIL PROTECTED] > > Fone: 12-244-9316 Fax: 12-244-9304 > > > > > > > > ------------------------------ LISTA SOUJAVA > > ---------------------------- > > http://www.soujava.org.br - Sociedade de Usuários > > Java da Sucesu-SP > > dúvidas mais comuns: > > http://www.soujava.org.br/faq.htm > > regras da lista: > > http://www.soujava.org.br/regras.htm > > historico: > > > http://www.mail-archive.com/java-list%40soujava.org.br > > para sair da lista: envie email para > > [EMAIL PROTECTED] > > > ------------------------------------------------------------------------- > > > > > > > > ------------------------------ LISTA SOUJAVA > > ---------------------------- > > http://www.soujava.org.br - Sociedade de Usuários > > Java da Sucesu-SP > > dúvidas mais comuns: > > http://www.soujava.org.br/faq.htm > > regras da lista: > > http://www.soujava.org.br/regras.htm > > historico: > > > http://www.mail-archive.com/java-list%40soujava.org.br > > para sair da lista: envie email para > > [EMAIL PROTECTED] > > > ------------------------------------------------------------------------- > > > > > > > > > > > > > __________________________________________________ > Do You Yahoo!? > Yahoo! Health - your guide to health and wellness > http://health.yahoo.com > > ------------------------------ LISTA SOUJAVA ---------------------------- > http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP > dúvidas mais comuns: http://www.soujava.org.br/faq.htm > regras da lista: http://www.soujava.org.br/regras.htm > historico: http://www.mail-archive.com/java-list%40soujava.org.br > para sair da lista: envie email para [EMAIL PROTECTED] > ------------------------------------------------------------------------- _________________________________________________________ Do You Yahoo!? Get your free @yahoo.com address at http://mail.yahoo.com ------------------------------ LISTA SOUJAVA ---------------------------- http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm historico: http://www.mail-archive.com/java-list%40soujava.org.br para sair da lista: envie email para [EMAIL PROTECTED] -------------------------------------------------------------------------