Hola!
1) No es aconsejable que una password en una BD sea desencriptable.
Lo que se suele hacer es obtener un hash de la password (puede ser con MD5 o con cualquiera de las versiones de SHA), guardar en la base el hash, y cuando te ingresan una password volver a calcular el hash y comparar hash de la password ingresada contra hash guardado.
Esto garantiza que ni siquiera el administrador pueda conocer la password de un usuario. LLegado el caso, puede removerla y dejarla en blanco, o bien crear una nueva y guardar el nuevo hash, pero no puede conocer cuál es la password ingresada por el usuario...
De cualquier forma, te inclines por un hash o por una encripción simétrica, la JCE (Java Criptographic Engine) está llena de clases apropiadas para lo que quieras hacer...
2) Encriptar, lo que se dice encriptar, no se puede... Hay varios ofuscadores disponibles, es cuestión de googlear un poco... (
http://tinyurl.com/yfxrnk2) hay ofuscadores de código fuente y/o de ByteCode. Puedes elegir...
Saludos
--------------------------------------------------------
Alberto
"Idleness is not doing nothing. Idleness is being free to do anything." - Floyd Dell