Obfuscator resolveria meu problema?

Olá Gujada!
Bom Dia!

Gostaria de contar com a ajuda dos colegas para um problema que encontrei hoje:

Disponibilizo meu JAR para os vendedores utilizarem o sistema, porém se o camarada abrir o JAR com o bloco de notas ele conseguirá garimpar, através dos caracteres inválidos, coisas importantes como: usuário do banco, senha do banco de dados, path de arquivos importantes, etc.

Ou seja, gostaria de saber como criptografar o JAR ou embaralhar os caracteres que o bloco de notas apresenta de forma que eles (vendedores) não visualizem partes do código java.

Pesquisei a respeito na internet sobre o assunto e achei alguns tópios (dos tantos que estão quebrados) falando a respeito do obfuscator, mas nada concreto a respeito.

Poderiam me ajudar?

Obrigado à todos!

Marco Aurélio

O obfuscator dificulta a descompilação do programa, mas não esconde as strings dentro do seu programa. Elas devem ser criptografadas, mas o problema é manter a chave secreta de forma que ela também não seja fácil de localizar no seu programa.
De qualquer maneira, o próprio banco de dados tem de ser criptografado. Se você estiver usando o hsqldb, por exemplo, ele não é criptografado.

Eu pessoalmente transformaria a sua aplicação em um cliente e desenvoveria um server como uma API REST pois, ao inves desse jar fazer um

bastaria abrir uma conexão http e fazer um

e parsear a resposta que pode vir como um xml. Nesse caso vc poderia trabalhar com basic authentication para não abrir as portas da api para qualquer um.

http://wikis.sun.com/display/Jersey/Main

Se for muito complicado, vc teria que pensar outra forma de centralizar o acesso ao banco, ou criar usuarios especificos no banco para cada vendedor, etc. Logo vão surgir sugestões melhores :slight_smile: