Sobre Variáveis em Java!

3 respostas
A

Olá Senhores !! Tenho uma Duvida, andei procurando, mas ainda não esta claro para mim.
Tem a ver com um pouco de segurança, tenho um método que recebe uma senha (string) e faz uma verificação no
banco de dados, se a senha confere é retornado true. Tudo bem até ai.

agora a variável com a senha, logo que saio do método, a variável senha fica inacessível ?? será impossível eu recuperar
o seu valor ?? é isso que quero !!

Um exemplo:

public boolean Conectar(String senha) throws SQLException, ClassNotFoundException { Class.forName("com.mysql.jdbc.Driver"); con = DriverManager.getConnection("jdbc:mysql://localhost:3306/banco","root",senha); stm = con.createStatement(); return true; }
ou preciso fazer a variável senha receber nulo antes de terminar o metodo para ter mais certeza !!??

senha = null

Obrigado.

3 Respostas

J

adrianleite:
Olá Senhores !! Tenho uma Duvida, andei procurando, mas ainda não esta claro para mim.
Tem a ver com um pouco de segurança, tenho um método que recebe uma senha (string) e faz uma verificação no
banco de dados, se a senha confere é retornado true. Tudo bem até ai.

agora a variável com a senha, logo que saio do método, a variável senha fica inacessível ?? será impossível eu recuperar
o seu valor ?? é isso que quero !!

Um exemplo:

public boolean Conectar(String senha) throws SQLException, ClassNotFoundException { Class.forName("com.mysql.jdbc.Driver"); con = DriverManager.getConnection("jdbc:mysql://localhost:3306/banco","root",senha); stm = con.createStatement(); return true; }
ou preciso fazer a variável senha receber nulo antes de terminar o metodo para ter mais certeza !!??

senha = null

Obrigado.


Esta variavel deve estar “visivel” apenas para seu metodo porque voce provavelmente a declarou como uma variavel local.
Tente declara-la fora do seu metodo e apenas inicia-la dentro do metodo, pois, assim ela nao perdera o valor.

Se depois que feita a verificacao voce atribuir null a variavel senha, esta irá perder a senha e ira ter valor null. E isso não é aconselhavel porque voce iria perder a sua senha.

A

Então jhonnny o que eu quero é que ela fique inacessível mesma, para que quando o gc passar ela seja destruída. Entendeu?!
Obrigado.

J

adrianleite:
Então jhonnny o que eu quero é que ela fique inacessível mesma, para que quando o gc passar ela seja destruída. Entendeu?!
Obrigado.

Entendi agora…

Realmente, se voce declara-la como local ela deixara de existir apos sair do metodo.
Não sei te falar se seria impossivel acessa-la. Mas se existir algum meio sera por engenharia reversa.

Criado 20 de abril de 2013
Ultima resposta 20 de abr. de 2013
Respostas 3
Participantes 2