Weblogs Código

RecorteX

» carlos2050
73 usuarios y 244 recortes de código
Usuario

Contraseña
Crear cuenta
Estás viendo los recortes del usuario carlos2050

RSS
Recortes: 3
Registrado: 27/9/2006

Etiquetas:
java (2)

Ejemplo de Algoritmo Simétrico DES para des/encriptacion JAVA

Escribe aquí el texto

import java.security.*;

import   javax.crypto.*;
import   javax.crypto.interfaces.*;
import   javax.crypto.spec.*;

import java.io.*;

public class EjemploDES  {
   /*  Ejemplo de uso de funciones de resumen Hash
    *    carga el fichero que recibe como parametro y genera el resumen
    */   
   public static void main (String[] args) throws Exception {	
      // Comprobar argumentos
      if (args.length !=1) {
	 mensajeAyuda();
	 System.exit(1); 
      }
      
      /* Cargar "provider" (sólo si no se usa el que viene por defecto) */
      // Security.addProvider(new BouncyCastleProvider());  // Usa provider BC
      // 
      /* PASO 1: Crear e inicializar clave */
      KeyGenerator keyGen = KeyGenerator.getInstance("DES");
      keyGen.init(56);
      SecretKey clave = keyGen.generateKey();
      
      System.out.println("CLAVE:" + new String(clave.getEncoded()) + "\n");
      
      
      /* PASO 2: Crear cifrador */
      Cipher cifrador= Cipher.getInstance("DES/ECB/PKCS5Padding");
           // Algoritmo DES
           // Modo : ECB (Electronic Code Book)
           // Relleno : PKCS5Padding
	   // 
      /* PASO 3a: Inicializar cifrador en modo CIFRADO */
      cifrador.init(Cipher.ENCRYPT_MODE, clave);
      
      /* Leer fichero de 1k en 1k y pasar fragmentos leidos al cifrador */
      byte[] bufferPlano = new byte[1000];
      byte[] bufferCifrado;
      
      String textoCifradoTotal = new String();
      FileInputStream in = new FileInputStream(args[0]);
      int bytesLeidos = in.read(bufferPlano,0, 1000);
      while(bytesLeidos != -1) {  // Mientras no se llegue al final del fichero
	 bufferCifrado = cifrador.update(bufferPlano, 0 , bytesLeidos);  // Pasa texto claro leido al cifrador
	 textoCifradoTotal = textoCifradoTotal + new String(bufferCifrado); // Acumular texto cifrado
	 bytesLeidos = in.read(bufferPlano,0, 1000);
      } 
      in.close();
      
      bufferCifrado = cifrador.doFinal(); // Completar cifrado (puede devolver texto)
      textoCifradoTotal = textoCifradoTotal + new String(bufferCifrado);

      
      System.out.println("--------------- TEXTO CIFRADO ---------------");
      System.out.println(textoCifradoTotal);   // Mostrar texto cifrado
      System.out.println("---------------------------------------------");
      
      System.out.println("--------------- TEXTO DESCIFRADO -------------");
      /* PASO 3b: Poner cifrador en modo DESCIFRADO */
      cifrador.init(Cipher.DECRYPT_MODE, clave);
      byte[] textoDescifrado = cifrador.update(textoCifradoTotal.getBytes()); // Pasar texto al descifrador
      System.out.print( new String(textoDescifrado) );
      textoDescifrado = cifrador.doFinal(); // Completar descifrado (puede devolver texto)
      System.out.print( new String(textoDescifrado) );
      System.out.println("----------------------------------------------");
   }
  
   public static void mensajeAyuda() {
      System.out.println("Ejemplo cifrado DES");
      System.out.println("\tSintaxis:   java EjemploDES fichero");
      System.out.println();	
   }
   
}

Obtener la ip de una url (Clase IPAddres)

Escribe aquí el texto
 
  public class IPAddres {
 
  public static String obtenerIP(String sHostName) {
 
    // Convertimos la IP a una cadena del estilo X.X.X.X
 
    try {
 
      // Obtenemos la InetAddress de dicha URL
      java.net.InetAddress address = java.net.InetAddress.getByName(sHostName);
 
      // Cogemos la IP
      byte[] bIPAddress = address.getAddress();
 
      // IP en formato String
      String sIPAddress = "";
 
      for (int x = 0; x < bIPAddress.length; x++) {
        if (x > 0) {
          // A todos los numeros les anteponemos
          // un punto menos al primero
          sIPAddress += ".";
        }
 
        // Como no existen enteros sin signo se usan los
        // numeros negativos para simular del 128 al 256
        // Se requiere esa conversión
        // sIPAddress += (bIPAddress[x]<0)?Integer.toString(    bIPAddress[x]+256):Integer.toString(bIPAddress[x]);
 
        // Otra opción es jugar con los bytes y cambiar
        // el bit del signo
        sIPAddress += bIPAddress[x] & 255;
      }
      return sIPAddress;
 
    }
    catch (java.net.UnknownHostException e) {
      // Se genera una excepción
      return e.toString();
    }
  }
}
 

leer la salida standard de una aplicación JAVA

Escribe aquí el texto
 
  // Codigo para leer la salida standard
  try {
        BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
        String str = "";
        while (str != null) {
            System.out.print("> prompt ");
            str = in.readLine();
            process(str);
        }
    } catch (IOException e) {
      //Excepciones capturadas
    }
 
Proyecto: Juanjo Navarro, 2006 - Diseño: Albin