Vous êtes sur la page 1sur 7

UNIVERSIDAD NACIONAL DE ANCASH SANTIAGO ANTUNEZ DE MAYOLO

FACULTAD DE CIENCIAS ESCUELA PROFESIONAL DE INGINIERIA DE SISTEMAS E INFORMATICA

Encriptacin y Des-encriptacin con Base de Datos en Mysql y Conexin a Java Netbeans


CURSO: PROGRAMACION III PROFESOR: Ing. REVILLA CANCAN W.

ALUMNO: CHAVEZ ALVARADO Shubert

Huaraz, Septiembre del 2012

CREACION DE ENCRIPTADO EN CONECCION DE BASE DE DATOS MYSQL-JAVA NETBEANS 1. Base de datos en Mysql: CREATE DATABASE `practica` CREATE TABLE `practica`.`encriptar` ( `codencriptar` varchar(10) NOT NULL, `nomusuario` varchar(20) NOT NULL, `claveusuario` varchar(20) NOT NULL, PRIMARY KEY (`codencriptar`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1;

2. Procedimientos Almacenados:
DELIMITER $$ DROP PROCEDURE IF EXISTS `practica`.`eliminar_encriptar`$$ CREATE DEFINER=`root`@`localhost` PROCEDURE `practica`.`eliminar_encriptar`(cod varchar(10)) BEGIN delete from encriptar where codencriptar=cod; END $$ DELIMITER ; DELIMITER $$ DROP PROCEDURE IF EXISTS `practica`.`insertar_encriptar`$$ CREATE DEFINER=`root`@`localhost` PROCEDURE `practica`.`insertar_encriptar`( in codencriptar varchar(10), in nomusuario varchar(20), in claveusuario varchar(20)) BEGIN insert into encriptar values(codencriptar,nomusuario, claveusuario); END $$ DELIMITER ; DELIMITER $$ DROP PROCEDURE IF EXISTS `practica`.`Modificar_Encriptado`$$ CREATE DEFINER=`root`@`localhost` PROCEDURE `practica`.`Modificar_Encriptado`(id varchar(10), nom varchar(20),cla varchar(20)) BEGIN update encriptar set nomusuario=nom, claveusuario=cla where codencriptar=id; END $$ DELIMITER ;

3. Clases y Vistas en Java-Netbeans: 3.1. Clases: Clase ConexionBD; package practica; import java.sql.Connection; import java.sql.DriverManager;

import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.Statement; public class ConexionBD { String usuario = "root", servidor = "localhost", contrasea = "", basedatos = "practica"; public Connection conec = null; public PreparedStatement prest=null;//para proc almacenados public Statement st = null;//para consutas normales public ResultSet rs = null;//resultado de la consulta public void conectar() { try { String URLConexion = "jdbc:mysql://" + servidor + "/" + basedatos; conec = DriverManager.getConnection(URLConexion, usuario, contrasea); st = conec.createStatement(); } catch (Exception e) { e.printStackTrace(); } } } Clase Consultas; package practica; import java.sql.ResultSet; import java.sql.SQLException; import java.util.logging.Level; import java.util.logging.Logger; import javax.swing.JComboBox; import javax.swing.JOptionPane; import javax.swing.table.DefaultTableModel; public void VerEncriptado(String valor, DefaultTableModel model) { try { conn.conectar(); conn.prest = conn.conec.prepareStatement("call verencriptar(?)"); conn.prest.setString(1, valor); VerEnTabla(model, conn.prest.executeQuery(),3); } catch (SQLException ex) { Logger.getLogger(Consultas.class.getName()).log(Level.SEVERE, null, ex); } } public boolean GrabarEncriptado(String codigo, String nombre,String clave) { boolean b = false; try { conn.conectar(); conn.prest = conn.conec.prepareStatement("call Grabar_Encriptado(?,?,?)");

conn.prest.setString(1, codigo); conn.prest.setString(2, nombre); conn.prest.setString(3, clave); conn.prest.executeUpdate(); b = true; } catch (SQLException ex) { JOptionPane.showMessageDialog(null, ex); Logger.getLogger(Consultas.class.getName()).log(Level.SEVERE, null, ex); } return b; } Clase Encriptado; package encriptar; public class Encriptacion { private static String T = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijk lmnopqrstuvwxyz0123456789"; private static String E = "!#$%&'()*+,-./:;<=>?@^ "; //-------------------------------encriptar y desencriptar textos que terminan en consonante-----public static String encriptar(String k) { String cad = ""; String w = ""; for (int i = 2; i <= k.length(); i += 2) { w += k.substring(i - 1, i); } for (int i = 1; i <= k.length(); i += 2) { w += k.substring(i - 1, i); } for (int i = 1; i <= w.length(); i++) { for (int j = 1; j <= T.length(); j++) { if (w.substring(i - 1, i).equals(T.substring(j - 1, j))) { cad += E.substring(j - 1, j); } } } return cad; } public static String desencriptar(String text) { String cadena = ""; String der = ""; String izq = ""; int mitad = text.length() / 2; izq = text.substring(0, mitad); der = text.substring(mitad, text.length()); if (izq.length() == der.length()) { for (int i = 0; i < izq.length(); i++) { cadena += der.substring(i, i + 1); cadena += izq.substring(i, i + 1); } } else { if (izq.length() < der.length()) { for (int i = 0; i < izq.length(); i++) {

cadena += der.substring(i, i + 1); cadena += izq.substring(i, i + 1); if (i == izq.length() - 1) { cadena += der.substring(i + 1, i + 2); } } } } der = ""; for (int i = 1; i <= cadena.length(); i++) { for (int j = 1; j <= E.length(); j++) { if (cadena.substring(i - 1, i).equals(E.substring(j - 1, j))) { der += T.substring(j - 1, j); } } } return der; } //-------------------------------encriptar y desencriptar textos que terminan en vocal----------public static String encriptarv(String p) { String cade = ""; String y = ""; int m=0; for (int i =1;i<=p.length();i++) { y += p.substring(p.length()-i,p.length()-m); System.out.print(i); m++; } for (int i = 1; i <= y.length(); i++) { for (int j = 1; j <= T.length(); j++) { if (y.substring(i - 1, i).equals(T.substring(j - 1, j))) { cade += E.substring(j - 1, j); } } } System.out.print(y); return cade; } public static String desencriptarv(String texto) { String hola=""; String dere=""; int m=0; for (int i =1;i<=texto.length();i++) { hola+= texto.substring(texto.length()-i,texto.length()-m); System.out.print(i); m++; } for (int i = 1; i <= hola.length(); i++) { for (int j = 1; j <= E.length(); j++) { if (hola.substring(i - 1, i).equals(E.substring(j - 1, j))) { dere += T.substring(j - 1, j); } } }

return dere; } 3.2. Ventanas: Frm Encriptado:

Cdigo de Comparacin //compara el ultimo carcter si es vocal o consonante para el encriptado. String K; K=txtnombre.getText(); String S = "AEIOUaeiou"; int sum=0; String subcad1=K.substring(K.length()-1,K.length()); for(int j=1;j<=S.length();j++){ if (subcad1.equals(S.substring(j-1,j))) { sum=sum+0; }else{ sum=sum+1; } } JOptionPane.showMessageDialog(null,"------TERMINO EN CONSONANTE----"+sum); if(sum==9) txte.setText(Encriptacion.encriptarv(K)); else txte.setText(Encriptacion.encriptar(K)); }

private void btnNuevoActionPerformed(java.awt.event.ActionEvent evt) { //boton Nuevo if (btnNuevo.getText().compareTo("Nuevo") == 0) {//si el botn tiene texto nuevo lo cambiamos a estado de edicion btnNuevo.setText("Grabar"); Habilitar(true);

} else {//si esta en texto Grabar grabamos los datos lo devolvemos a Nuevo if(consul.VerificaExiste("encriptar", "codencriptar", txtCodigo.getText())==false){ if (consul.GrabarEncriptado(txtCodigo.getText(), txtNombre.getText(),Encriptacion.encriptar(txtclave.getText()))) { JOptionPane.showMessageDialog(this, "Se ha registrado correctamente"); LimpiarTexto(); btnNuevo.setText("Nuevo"); VerEncriptar(); Habilitar(false); } }else{ JOptionPane.showMessageDialog(this, "el codigo ingresado ya existe\n" + "por favor ingrese otro"); } } } private void btnEliminarActionPerformed(java.awt.event.ActionEvent evt) { //boton Eliminar int fila = tabla.getSelectedRow(); if (fila >= 0) { int res = JOptionPane.showConfirmDialog(this, "esta Seguro de Eliminar El Registro", "Confirmar", JOptionPane.YES_NO_OPTION); if (res == JOptionPane.YES_OPTION) { if (consul.EliminarEncriptar(modelo.getValueAt(fila, 0).toString())) { JOptionPane.showMessageDialog(this, "Registro Eliminado"); VerEncriptar(); } } } else { JOptionPane.showMessageDialog(this, "Primero selecione Una Fila"); } }

private void btnSalirActionPerformed(java.awt.event.ActionEvent evt) { // boton salir dispose(); }

Vous aimerez peut-être aussi