elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


  Mostrar Mensajes
Páginas: 1 2 3 4 5 6 7 8 9 10 11 12 [13] 14
121  Programación / Java / [PROBLEMA] Descifrado con algoritmo TripleDES en java en: 25 Abril 2013, 13:45 pm
Hola buenas, mirad tengo un pequeño problema tratando de hacer una clase del algoritmo de cifrado tripleDES

Adjunto código:
Código:
package algoritmos;

import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;

import javax.crypto.BadPaddingException;
import javax.crypto.Cipher;
import javax.crypto.IllegalBlockSizeException;
import javax.crypto.KeyGenerator;
import javax.crypto.NoSuchPaddingException;
import javax.crypto.SecretKey;

public class TripleDES extends Algoritmo {
private String msg;
private byte [] msgCifrado;
private byte [] msgDescifrado;
private Cipher cifrador;
private Cipher descifrador;
private KeyGenerator keyGen;
private SecretKey claveTripleDES;

public TripleDES (String nombreAlgortimo, String mensaje){
this.nombreAlgortimo = nombreAlgortimo;
this.msg = mensaje;
this.isCreate = true;
try {

System.out.println(">> Creando TripleDES......");
generarKey();
cifrador = Cipher.getInstance(nombreAlgortimo+"/CBC/PKCS5Padding");
descifrador = Cipher.getInstance(nombreAlgortimo+"/CBC/PKCS5Padding");

} catch (NoSuchAlgorithmException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (NoSuchPaddingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("--------------- Generamos Clave ---------------");
System.out.println("Clave pública: "+ new String(claveTripleDES.getEncoded()));
System.out.println("------------------------------------------------");
}
@Override
public void cifrar() {
byte [] bytesMensaje = msg.getBytes();
try {
cifrador.init(Cipher.ENCRYPT_MODE, claveTripleDES);
msgCifrado = cifrador.doFinal(bytesMensaje);
} catch (InvalidKeyException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalBlockSizeException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (BadPaddingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (NullPointerException e){
e.printStackTrace();
}
System.out.println("--------------- TEXTO CIFRADO ---------------");
System.out.println("CLAVE Pública: " + new String(claveTripleDES.getEncoded()) + "\n");
System.out.println("Texto sin cifrar: "+msg);
        System.out.println("Texto cifrado : "+new String(msgCifrado));
        System.out.println("---------------------------------------------"); 
}

@Override
public void descifrar() {
try {
descifrador.init(Cipher.DECRYPT_MODE, claveTripleDES);
msgDescifrado = descifrador.doFinal(msgCifrado);
} catch (InvalidKeyException e) {
// TODO Auto-generated catch block
msgDescifrado = "error mensaje no descifrado".getBytes();
e.printStackTrace();
} catch (IllegalBlockSizeException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (BadPaddingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

System.out.println("--------------- TEXTO DESCIFRADO ---------------");
System.out.println("CLAVE Pública: " + new String(claveTripleDES.getEncoded()) + "\n");
System.out.println("Texto sin cifrar: "+msg);
System.out.println("Texto cifrado: "+new String(msgCifrado));
        System.out.println("Texto descifrado: "+new String(msgDescifrado));
        System.out.println("---------------------------------------------");
}

private void generarKey() throws NoSuchAlgorithmException{
        keyGen = KeyGenerator.getInstance(nombreAlgortimo);
        claveTripleDES = keyGen.generateKey();
}
}

y el problema es que cuando genero la clave y cifro todo va bien es cuando intento descifrar me sale el siguiente error. Ya se me han acabado las ideas. ¿ Alguien ha pasado por este problema o se le ocurre como solucionarlo?

adjunto código de la incidencia.
Citar
04-25 11:33:21.700: W/System.err(742): java.security.InvalidKeyException: no IV set when one expected
04-25 11:33:21.710: W/System.err(742):    at com.android.org.bouncycastle.jcajce.provider.symmetric.util.BaseBlockCipher.engineInit(BaseBlockCipher.java:629)
04-25 11:33:21.720: W/System.err(742):    at javax.crypto.Cipher.init(Cipher.java:519)
04-25 11:33:21.720: W/System.err(742):    at javax.crypto.Cipher.init(Cipher.java:479)
04-25 11:33:21.720: W/System.err(742):    at algoritmos.TripleDES.descifrar(TripleDES.java:72)
04-25 11:33:21.730: W/System.err(742):    at com.AlarconMendez.cripto.MainActivity$1.onClick(MainActivity.java:43)
04-25 11:33:21.730: W/System.err(742):    at android.view.View.performClick(View.java:4204)
04-25 11:33:21.740: W/System.err(742):    at android.view.View$PerformClick.run(View.java:17355)
04-25 11:33:21.740: W/System.err(742):    at android.os.Handler.handleCallback(Handler.java:725)
04-25 11:33:21.740: W/System.err(742):    at android.os.Handler.dispatchMessage(Handler.java:92)
04-25 11:33:21.740: W/System.err(742):    at android.os.Looper.loop(Looper.java:137)
04-25 11:33:21.750: W/System.err(742):    at android.app.ActivityThread.main(ActivityThread.java:5041)
04-25 11:33:21.750: W/System.err(742):    at java.lang.reflect.Method.invokeNative(Native Method)
04-25 11:33:21.750: W/System.err(742):    at java.lang.reflect.Method.invoke(Method.java:511)
04-25 11:33:21.760: W/System.err(742):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
04-25 11:33:21.760: W/System.err(742):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
04-25 11:33:21.760: W/System.err(742):    at dalvik.system.NativeStart.main(Native Method)

122  Comunicaciones / Redes / Problema: Ataque a mis datos. en: 9 Marzo 2013, 16:33 pm
Buenas
Lo que me ha pasado es lo siguiente. tengo un ip intentando acceder a mi ordenador mediante un ataque de fuerza bruta. Tengo la ip que esta haciendo el ataque mi pregunta es ¿Como pueda saber si es el atacante el dueño de la ip o si por el contrario es un proxy? y ¿A donde debería dirigirme si quiero denunciarlo?

Gracias
123  Programación / Programación C/C++ / puntero a funcion en: 30 Abril 2011, 15:55 pm
buenas hacia tiempo que no escribia aunque siempre andaba por aqui de post en post
el otro dia repasando un poco de c vi el tema este de puntero a funcion pero no recuerdo cual era el uso que le podia dar a esto. Si alguno sabe se lo agradeceria
 
Código
  1. //aqui esta el puntero a funcion
  2. int (*punt) (int,int);
  3.  
  4.  int suma(int a , int b){
  5.     return a+b;
  6.  }
  7.  
  8.  int resta(int a , int b){
  9.     return a-b;
  10.  }
  11.  
  12.  *punt=suma;
  13.   punt(2,3);
  14.  
  15.  *punt=resta;
  16.   punt(5,1);
  17.  
124  Programación / Java / Re: Crear un jLabel dentro de un jFrame existente en: 7 Enero 2011, 14:25 pm
alomejor te interesa utilizar JDialog es lo mismo xD ,bueno parecido a JFrame pero te lo habre aparte.

aki el link :http://download.oracle.com/javase/1.4.2/docs/api/javax/swing/JDialog.html
125  Programación / Java / Re: Juego Hundir la Flota Con JAVA en: 7 Diciembre 2010, 15:34 pm
hola yo pienso que lo qe mas te interesa es la tercera opcion , es decir ,hacer un servidor sencillito el cual solo asocie jugadores y pase mensajes de uno a otro .

luego cada cliente que conecte es el qe trabajaria con la informacion que le llega.
126  Programación / Java / Re: Ventanita en java en: 7 Diciembre 2010, 00:41 am
señores despues de un rato largo dejandome los cuernos me he dado cuenta que lo que me faltaba era crear los objetos  JPanel

ejemplo:
Código:
PN_Botones = new JPanel();
127  Programación / Java / Ventanita en java (Solucionado) en: 6 Diciembre 2010, 21:12 pm
hola buenas pues he estaod intentando hacer una interfaz grafica en java y no lo consigo y nada no hay manera haber si alguien me echa una mano.
Código
  1. /*
  2.  * To change this template, choose Tools | Templates
  3.  * and open the template in the editor.
  4.  */
  5.  
  6. /**
  7.  *
  8.  * @author Alarcon
  9.  */
  10. import javax.swing.*;
  11. import java.awt.*;
  12. import java.awt.event.ActionEvent;
  13. import java.awt.event.ActionListener;
  14.  
  15.    class DeleteRecordDialog extends JFrame implements ActionListener {
  16.        //declaro los elementos de que voy a utilizar
  17.       // Concesionario owner;
  18.  
  19.        //botones de accion
  20.        JButton aceptar ;
  21.        JButton cancelar;
  22.        JButton mostrar ;
  23.  
  24.        //etiquetas
  25.        JLabel tablas ;
  26.        JLabel clPrimaria;
  27.  
  28.        //campo
  29.        JTextField key;
  30.  
  31.        //contenedore
  32.        JPanel PN_Tablas;
  33.        JPanel PN_Recoger;
  34.        JPanel PN_Botones;
  35.  
  36.  
  37.        //creamos los botones
  38.    //            ButtonGroup union =new ButtonGroup();
  39.    //            for(int i=0;i<tableNames.;i++){
  40.    //
  41.    //            }
  42.            public DeleteRecordDialog(){
  43.    //                    super(owner,title,true);
  44.    //                    this.owner=owner;
  45.  
  46.                //inicializamos los botones
  47.                aceptar = new JButton("Aceptar");
  48.                cancelar = new JButton("Cancelar");
  49.                mostrar = new JButton("Mostrar Tabla");
  50.  
  51.                //inicializamos etiquetas
  52.                tablas = new JLabel("Tablas");
  53.                clPrimaria= new JLabel("Clave Primaria:");
  54.  
  55.                //inicializamos campo para recoger datos
  56.                key = new JTextField("recoger id");
  57.  
  58.                //agregamos los contenedores
  59.                PN_Tablas.add(tablas);
  60.  
  61.                PN_Recoger.add(clPrimaria);
  62.                PN_Recoger.add(key);
  63.  
  64.                PN_Botones.add(aceptar);
  65.                PN_Botones.add(cancelar);
  66.                PN_Botones.add(mostrar);
  67.  
  68.                getContentPane().setLayout(new GridLayout(3,1));
  69.                getContentPane().add(PN_Tablas);
  70.                getContentPane().add(PN_Recoger);
  71.                getContentPane().add(PN_Botones);
  72.  
  73.                setSize (320,200);
  74.                setVisible(true);
  75.                validate();
  76.  
  77.            }
  78.  
  79.    public void actionPerformed(ActionEvent e) {
  80.        throw new UnsupportedOperationException("Not supported yet.");
  81.    }
  82.    public static void main (String arg []) {
  83.        DeleteRecordDialog deleteRecordDialog = new DeleteRecordDialog();
  84.  
  85.    }
  86. }
  87.  

y el error :
Citar
run:
Exception in thread "main" java.lang.NullPointerException
        at DeleteRecordDialog.<init>(DeleteRecordDialog.java:59)
        at DeleteRecordDialog.main(DeleteRecordDialog.java:83)
Java Result: 1
GENERACIÓN CORRECTA (total time: 2 seconds)

128  Programación / Programación C/C++ / Re: El for() no reconoce las marcas en: 17 Septiembre 2010, 23:35 pm
haber te da un error por qe la array se sale de tamaño en "buffer[i+1] == '*' " por que cuando llega al ultimo elemento tu le sumas uno en la posicion (i) y te sales fuera de la array. Lo que veo raro es que el error no sea array no found o algo parecido
129  Programación / Programación C/C++ / Re: problema con la funcion select(); en: 29 Julio 2010, 14:15 pm
ok ,muchas gracias y perdona si te he ofendido con mi forma de escribir
130  Programación / Programación C/C++ / Re: problema con la funcion select(); en: 28 Julio 2010, 22:19 pm
ok muchas gracias por la respuesta la verdad esqe me a servido de mucha ayuda el code no ta terminado y gracias por el consejo no cai en qe read te devolvia los bytes leidos , encuanto lo de 0 en vezde uno no tengo muy claro a lo qe te refieres si es

Código
  1. if(FD_ISSET(sockfd,&rset)==1)

segun lo que pude entender esta funcion "FD_SET()" te devuelve 1 si salta el descriptor y 0 cuando no salta.
Páginas: 1 2 3 4 5 6 7 8 9 10 11 12 [13] 14
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines