Cifrando los datos de conexión a base de datos en Java y MySql 2 de 3

Esta es la segunda parte de la entrega.

En seguida haremos una aplicación que nos permitirá cifrar nuestros datos de conexión introducidos en un formulario, cuando la conexión sea establecida con éxito podremos exportar en un archivo de texto estos datos.

El algoritmo utilizado se llama DES.

Descarga el proyecto aquí

Vista de la aplicación final



Para el proyecto he creado 2 clases la primera llamada ConexionBd la cual contiene un método que nos permitirá establecer la conexión con la base de datos antes de exportar el archivo cifrado.

Parte de la clase ConexionBd
 1 // Método que servira para probar el acceso a la base de datos antes
 2     //de generar el archivo .ini
 3     public void conectar() {
 4         try {
 5             Class.forName("com.mysql.jdbc.Driver").newInstance();
 6             Connection conexion = DriverManager.getConnection("jdbc:mysql://" +
 7                     getServidor() + ":" + getPuerto() + "/" + getBd(), getUsuario(), getContrasena());
 8             if(conexion != null)
 9                 JOptionPane.showMessageDialog(null, "¡Conexión exitosa!.");
10 
11         } catch (Exception e) {
12             JOptionPane.showMessageDialog(null, e.getMessage(), "Error", JOptionPane.ERROR_MESSAGE);
13         }
14     }

La segunda clase llamada EncriptaArchivo como su nombre lo dice es la encargada de encriptar los datos que ingresemos en el formulario.
Parte de la clase EncriptaArchivo
 1             /* Inicializar cifrador en modo CIFRADO */
 2             cifrador.init(Cipher.ENCRYPT_MODE, desKey);
 3             //Cifrando datos de conexión
 4             byte servidorBytes[] = cifrador.doFinal(servidor.getBytes());
 5             //Convirtiendo variable port a String.
 6             byte puertoBytes[] = cifrador.doFinal(String.valueOf(puerto).getBytes()); 
 7             byte bdBytes[] = cifrador.doFinal(bd.getBytes());
 8             byte usuarioBytes[] = cifrador.doFinal(usuario.getBytes());
 9             byte contrasenaBytes[] = cifrador.doFinal(contrasena.getBytes());
10 
11             /* La encriptación genera una cadena de bytes, por lo que si se almacena de esta manera
12              * en un archivo o una base de datos podria ocacionarnos problemas al momento de leerla.
13              * Para evitar dicho problema, utilizamos la codificación BASE64.
14              */
15             BASE64Encoder base64 = new BASE64Encoder();
16             cadenaEncriptada[0] = base64.encode(servidorBytes);
17             cadenaEncriptada[1] = base64.encode(puertoBytes);
18             cadenaEncriptada[2] = base64.encode(bdBytes);
19             cadenaEncriptada[3] = base64.encode(usuarioBytes);
20             cadenaEncriptada[4] = base64.encode(contrasenaBytes);

Nota: Recordar que es necesario importar a bibliotecas el driver JDBC para el buen funcionamiento del proyecto.

Espero les sea útil para el desarrollo de sus sistemas y nos vemos en la tercera entrega.

Recuerda: Si te ha servido el contenido del artículo y lo has utilizado, tu comentario de agradecimiento u opinión será bienvenido para continuar mejorando...

Cifrando los datos de conexión a base de datos en Java y MySql 1 de 3

Después de un buen rato de ausencia les traigo un buen proyecto y muy útil por cierto, en seguida paso a explicarlo.

Esta aplicación constara de 3 partes; en la primera seda una breve introducción de lo que haremos, en la segunda parte cifraremos los datos de conexión y en la tercera parte leeremos el archivo cifrado para establecer la conexión a una base de datos y leer una serie de registros.

Al momento de desarrollar un sistema tenemos que considerar ciertas medidas de seguridad para evitar el acceso a ciertos recursos, una de las cosas muy importantes que debemos de hacer es cifrar nuestros datos de conexión que utilizamos para hacer consultas a nuestro motor de base de datos.

Es de suma importancia cifrarla dirección IP de nuestro servidor, nombre de la base de dato, usuario y contraseña para evitar poner en riesgo esta información sensible a raíz de esto se hará una aplicación para cifrar la información utilizada para conectarnos al motor de base de datos.

Ejemplo de archivo final cifrado:

 
Codigo java & Diseño web - Netbeans - Jasper Report © 2010 | Volver arriba