Paulo,
o que exatamente você não pode gravar no .class? A
senha?
O que você poderia estar fazendo seria utilizar um
algoritmo de criptografia para cifrar a senha antes de gravá-la no arquivo
e decifrá-lo ao efetuar a conexão com o banco de dados. Claro que não poderia
ser um algoritmo fácil de ser descoberto, você poderia ofuscar a classe para
dificultar um pouco as coisas.
Algo mais sofisticado seria usar um algoritmo que
use chaves simétricas e além de guardar a chave usada no .class, guardá-la
também em um local seguro para ser usada sempre que a senha for trocada. O uso
de chaves assimétricas não traz nenhuma real vantagem, fora a desnecessidade de
grande segurança para guardar a chave a ser usada para cifrar a
palavra.
Bem, tudo isso não vai te proteger totalmente, nada
impede que um bom conhecedor de Java decompile a sua classe e descubra como
funciona o mecanismo, mesmo que ela esteja ofuscada (para tal esforço
provavelmente seria alguém mal intencionado). Mais do que uma criptografia, é
necessária uma política de segurança, que impeça o acesso ao sistema nos níveis
de hardware e software e que também involva as pessoas da empresa.
Samuel
----- Original Message -----
Sent: Friday, May 10, 2002 10:01 AM
Subject: Re: [java-list] Password
ola ALL,
Obrigado pela ajuda. O meu
problema é que preciso gravar a senha de acesso ao banco em um arquivo
.properties por exemplo. Pois minha aplicacao lera desse arquivo para conectar
ao banco. Isso que vc falou está correto para os demais usuários, mas e o user
que se logará no banco como proceder? Eu nao posso deixar gravado dentro do
.class, pois trata-se de uma aplicacao comercial, entao como fazer? Quero
pegar a senha, criptografa-la, grava-la em um .properties, e quando precisar
acessar o banco, ler o arquivo, descriptografar a senha, autenticar no
banco.
Caso vc tenha QUALQUER
ajuda/exemplo agradeço muito.
"Valeu ;) "
Atenciosamente PAULO BRANCO DIRETIVA DIGITAL
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]
-------------------------------------------------------------------------
|