Senha do Banco na aplicação desktop (Swing)

Pesquisei bastante aqui e em outros foruns, vi que é um grande debate a questão de segurança por causa do Decopiler, vi varias soluções utilizando webservice ou web de outra forma (Ja fiz com php que conecta com banco e retorna os resultados para o programinha desktop).
A questão é a seguinte desconsiderando as soluções de web tem como gravar uma senha de banco dentro de um Swing (.class) sem correr o risco de o cliente quebrar via Decompiler, vi que existe o “obfuscador”, mas ainda assim é possivel achar senha no meio do codigo, parece que ele embaralha e inclui algumas besteiras ao codigo original.
Tambem pensei em varias outras soluções de criar array enormes com numeros que convertidos para char montaria a senha mas ainda sim qualquer tipo de criptografia seria possivel ser quebrada, pois a pessoa teria esse algoritmo para entende-la e chegar até a senha.

Enfim algum conhece alguma solução segura para colocar uma senha de banco dentro de um swing???

Grato

Criptografe a senha e guarde dentro de um arquivo xml.

Mas se o sistema é desktop e o xml estara la junto sera muito simples o cara pegar senha… entendi certo?

Eu preferiria trabalhar com um servico que retorna os dados.
Como rmi ou algo do gênero.

Assim a única autenticação que fica por conta da interface é a do usuário, que será preenchida dinamicamente com a validação também no servidor.

Salve a String como um array de chars, e aplique a classe por um obsfuscador. E boa sorte :slight_smile:

Mas ainda assim é bem possivel achar a senha ali no meio…

[quote=nbluis]Eu preferiria trabalhar com um servico que retorna os dados.
Como rmi ou algo do gênero.

Assim a única autenticação que fica por conta da interface é a do usuário, que será preenchida dinamicamente com a validação também no servidor.[/quote]

Sim tambem preferia, por isso pos na questão de não usar um webservice ou algo do tipo… fiquei intretido com o Decompiler e gostaria uma forma de atrapalhar ele, ou seja como mascarar um dados importante (senha) dele por exemplo…

Bom dia,
concordo com o nbluis, acho que um serviço que retorne/execute somente o desejado proteje a base de dados. Mas isto é um complicador a mais, principalmmente se a base de dados for local.

Vc pode trabalhar com os mecanismos de segurança do próprio SGDB, somente liberando o acesso ao necessário. Mas isto é difícil de gerenciar em aplicações grandes.

Porém, acho que o mais simples é solicitar os dados para o usuário quando ele logar em sua aplicação, assim a senha ficaria somente com ele.

[quote=Jeferson Flamini]Bom dia,
concordo com o nbluis, acho que um serviço que retorne/execute somente o desejado proteje a base de dados. Mas isto é um complicador a mais, principalmmente se a base de dados for local.

Vc pode trabalhar com os mecanismos de segurança do próprio SGDB, somente liberando o acesso ao necessário. Mas isto é difícil de gerenciar em aplicações grandes.

Porém, acho que o mais simples é solicitar os dados para o usuário quando ele logar em sua aplicação, assim a senha ficaria somente com ele.

[/quote]

Ok concordo com todos detalhes, so não estou querendo acreditar que não ha uma forma segura de guardar uma senha dentro de um .class …