ENCRIPTAR JAR Y PASSWORD EN BASE DE DATOS

504 views
Skip to first unread message

FEDARK

unread,
Nov 11, 2009, 10:12:39 AM11/11/09
to JavaSOS
1. ¿Alguien sabe con que librerías puedo encriptar y desencriptar un
password en una base de datos?
2. ¿Saben como puedo encriptar el jar de java?. Probe con JAR2EXE pero
no tengo el crack

Dante Artica

unread,
Nov 11, 2009, 11:58:47 AM11/11/09
to jav...@googlegroups.com
Te recomiendo que uses AES en su defecto MD5

Alberto M. Vernieri

unread,
Nov 11, 2009, 12:12:09 PM11/11/09
to jav...@googlegroups.com
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

2009/11/11 FEDARK <fedar...@gmail.com>

Pablo Saavedra

unread,
Nov 11, 2009, 12:23:06 PM11/11/09
to jav...@googlegroups.com
También es aconsejable a la password concatenarle algun string fijo (que se llama salt). Conozco casos donde podes googlear un md5 y encontrar el valor original. Ej:


Saludos.

2009/11/11 Alberto M. Vernieri <aver...@gmail.com>

Alberto M. Vernieri

unread,
Nov 11, 2009, 12:46:18 PM11/11/09
to jav...@googlegroups.com
Hola!

Cierto.... Aunque con un SHA-256 es más difícil...

Saludos
--------------------------------------------------------
Alberto
"People cannot stand too much reality." - Carl Jung

2009/11/11 Pablo Saavedra <pablo.a....@gmail.com>

Oscar Cardona

unread,
Nov 12, 2009, 12:45:52 PM11/12/09
to jav...@googlegroups.com
Yo hice algo muy similar hace algun tiempo; lo que se hizo en ese momento fue
que utilice la encriptacion del la base de datos (MYSQL) y tenia un hash para encriptar
una clave y cuando la veia en la base de datos ni yo sabia que habia alli ; claro hasta que aplique la clave para conocerla
--
Oscar E. Berganza Cardona

FEDARK

unread,
Nov 19, 2009, 11:10:00 AM11/19/09
to JavaSOS
MUCHAS GRACIAS POR SU RESPUESTA, VOY A INTENTAR CON MD5 PORQ TENGO LA
LIBRERIA.

Jorge

unread,
Nov 23, 2009, 8:59:18 PM11/23/09
to JavaSOS
El algoritmo MD5 ya no es considerado seguro, solo te protege contra
un ataque casual por alguien sin conocimientos criptograficos.
Encontrar la palabra o frase que genere un código MD5 dado es cuestion
de horas ( o de minutos si cuentas con varias máquinas trabajando en
paralelo).

Yo recomendaria usar HMAC-SHA1. Este algoritmo es similar al SHA-1
pero adiciona el uso de una palabra secreta (key).

http://docs.amazonwebservices.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/index.html?AuthJavaSampleHMACSignature.html
Reply all
Reply to author
Forward
0 new messages