Entradas populares

martes, 30 de agosto de 2011

Java - "ejecutar un jar desde java"

En los dos últimos post me dedica a escribir sobre java, ya que actualmente me encuentro desarrollando en este gran lenguaje de programación aunque he escuchado a el 90% de programadores que conozco que es difícil, hoy personalmente creo que tiene muchas cosas..... Y que solo hay documentación en inglés la poca que está en español no es muy bueno.

Por eso cada vez que puedo o que lo amerite escribo un post sobre java...Una necesidad que tuve es de hacer el llamado o la ejecución de otro archivo jar que son como los ejecutables de JAVA. Para empezar tenemos que tener nuestro archivo al cual vamos hacer el llamado o queremos que se ejecute.. Una vez ahí podremos hacer el llamado desde la nueva aplicación que estamos construyendo. Podremos hacer el llamado desde cualquier lugar o acción dentro de llama de una forma limpia y sencilla.

Runtime.getRuntime().exec("java -jar c:/rutademiarchivo/miarchivo.jar parametros1 parametro2");


Funciona en Windows y Linux Fedora 15 por lo general encontraran en la web un llamado parecido pero la mayoría solo funciona en Windows por que usan el cmd java -jar archivo.jar

Para que funcione en Linux tuve que omitir el cmd y darle la ruta absoluta del archivo que iba a ejecutar.

miércoles, 17 de agosto de 2011

Encriptar y Des-Encriptar con java

Hola a todos... ahora en mi corta vida de programador ha entrado un nuevo lenguaje al cual muchos programadores le temen (me incluyo XD) pero creo que esto se debe a la poca información que a veces encontramos en la web (información en español).

En mi trabajo actual se le ha ocurrido la grandiosa idea de cambiar las plataformas de trabajo (Sistema Operativo). Entonces nos hemos visto en la necesidad de buscar un lenguaje potente y versátil para migrar nuestro sistema interno, lo cual después de un intenso debate (no se nos vino otro a la cabeza :D) llegamos a la conclusión que debemos implementar java en todas nuestras nuevas aplicaciones. Ya que java puede correr en los dos S.O que manejamos en la empresa.

Y una de las grandes necesidades que se plantearon fue la de encriptar pequeñas cadenas de caracteres para una conexión a nuestra base de datos cosa que me tomo algún tiempo en encontrar por eso ahora les comparto el código con ejemplo.

package jpostconfig;
import java.security.*;
import javax.crypto.*;
import javax.crypto.spec.*;
import java.security.spec.*;
import java.io.*;

public class ClsEncriptar {
     public static String encriptar(String cleartext, String key)
            throws Exception {
        return crypt(cleartext, key, Cipher.ENCRYPT_MODE);   
    }


    public static String desEncriptar(String ciphertext, String key)
            throws Exception {
        return crypt(ciphertext, key, Cipher.DECRYPT_MODE);   
    }

    private static String crypt(String input, String key, int mode)
            throws Exception {

        // Install SunJCE provider
        Provider sunJce = new com.sun.crypto.provider.SunJCE();
        Security.addProvider(sunJce);
        
        KeyGenerator kgen = KeyGenerator.getInstance("Blowfish");
        kgen.init(448);
        SecretKey skey = kgen.generateKey();

        byte[] raw = key.getBytes();
        SecretKeySpec skeySpec = new SecretKeySpec(raw, "Blowfish");
           
        Cipher cipher = Cipher.getInstance("Blowfish/ECB/PKCS5Padding");
        cipher.init(mode, skeySpec);

        ByteArrayOutputStream bos = new ByteArrayOutputStream();
        ByteArrayInputStream bis = new ByteArrayInputStream(input.getBytes());
        CipherOutputStream cos = new CipherOutputStream(bos, cipher);

        int length = 0;
        byte[] buffer =  new byte[8192];

        while ((length = bis.read(buffer)) != -1) {
           cos.write(buffer, 0, length);
        }

        bis.close();
        cos.close();

        return bos.toString();
    }
}

Y les dejo un proyecto en NetBeans(versión 7.01) para que lo puedan revisar todo el codigo implementado.
Para llamar la clase no necesitan instanciarlo pero si capturar las excepciones.

SOLO FUNCIONA BAJO WINDOWS AUN NO SE PORQUE XD

http://www.megaupload.com/?d=TRAQICS7

Tomado de : http://www.forosdelweb.com/1063555-post13.html

martes, 16 de agosto de 2011

Google + La red social de google...

¿Qué es google+? 

Muchos dicen que google+ es el rival directo de facebook y que ha venido a destronarla, pero realmente que es google+... Google ha tenido varios proyectos de redes sociales que no han tenido mucho (wave, buzz, orkut) hoy por hoy google apuesta a otra forma de hacer las cosas.
Siendo Google un gigante del internet ha desarrollado y mejorado grandes aplicaciones sobre la web, (yo particularmente uso más del 80% de las mismas) y nos da esta nueva opción esta nueva herramienta en la cual socializa todas sus herramientas, dándole un nuevo significado a las redes sociales. Que en particular pienso que son las nuevas redes sociales de aplicación… donde podemos valernos de la nube al 100% y mantener nuestra información y nosotros siempre en línea, este nuevo criterio para el manejo de las redes sociales es innovador y se muestra muy atractivo.
Esperemos que muy pronto ya todos podamos acceder al sitio ya que actualmente se encuentra restringido para su registro.
Les dejo un video para que puedan apreciar las características de google+


viernes, 18 de marzo de 2011

Tildes y caracteres especiales en JavaScript

Uno de los principales problemas al utilizar javascript en nuestras paginas especialemente mensajes, es que no se muestran caracteres tildados, eñes entre otros (á, é, í, ó, ú, ñ...), aqui les muestro una manera sencilla de mostrar los caracteres especiales en javascript , por ejemplo en un alert obtenemos resultados indeseados.



Donde el mensaje es Año número 2011, como vemos el mensaje es totalmente incomprendible lo cual a muchos programadores les cuesta algo arreglar estos errores.

Para solucionar este preblema utilizaremos las cadena de escape de javascript solo deberemos reemplazar el caracter por \x seguido del valor que podemos ver en la tabla más abajo...
Cadenas de escape en Javascript
Las cadenas de escape permiten introducir caracteres especiales en Javascript como saltos de linea, tildes, tabuladores, etc. Entre estas cadenas de escape podemos listar:
  • \n: Salto de linea.
  • \r: Retorno de carro.
  • \t: Tabulación horizontal.
  • \v: Tabulación vertical.
  • \': Comilla simple o apostrofe.
  • \": Comilla doble.
  • \\: Barra invertida.
  • \xdd: Caracter especial especificado por dos dígitos hexadecimanes dd
Esta ultima cadena de escape nos permitirá mostrar todos los caracteres que deseamos, para ello solo nos hace falta conoces los equivalentes hexadecimales de los caracteres.
Tabla de Caracteres Especiales
Los caracteres especiales están expresados en números hexadecimales y con ellos podremos imprimir cualquier caracter de acuerdo nuestras necesidades


Fuente: http://blog.unijimpe.net/

domingo, 13 de marzo de 2011

Crear un USB Live Linux Ubuntu-Fedora-Kubuntu-Suse

También llamados USB Key, de arranque o inicio. Un USB Live no es nada más y nada menos que un USB con los archivos para la instalación del sistema operativo. En nuestro caso será Linux Ubuntu 10.10 (personalmente lo he probado con las otras versiones de Ubuntu y si corre muy bien).


Para empezar necesitaremos un Pen Drive (dispositivo de almacenamiento masivo USB) de un 1gb o más con sistema de archivo Fat16 o Fat32, la distribución de Linux (Ubuntu 10.10 en nuestro caso). Y un programilla unetbootin que es de código abierto.
Pagina del creador http://unetbootin.sourceforge.net/

Abre ahora unetbootin.
Su funcionamiento es muy sencillo, ábrelo e indica la distribución y versión del ISO (el archivo de imagen de tu Sistema operativo, en nuestro caso Linux Ubuntu 10.10), luego indícale la ruta o dirección del ISO y la unidad USB donde quieres crear el USB Live (Importante: Asegúrate de usar la ruta de una unidad USB, si te descuidas podrías seleccionar un disco duro y sobrescribirías los datos).




Pulsa en ok y comenzara el proceso de creación del USB Live.
 
Paso opcional:
Este paso no es necesario porque solamente es para que nuestro teclado cargue en español
Cuando termine, sales del programa y con nautilus entras en el pendrive, buscas el archivo “syslinux.cfg” y lo editas


default unetbootin
label unetbootin
kernel /ubnkern
append initrd=/ubninit file=/cdrom/preseed/ubuntu.seed boot=casper locale=es_ES bootkbd=es console-setup/layoutcode=es quiet splash --

Ojo, son dos guiones al final. Guardas los cambios y listo, ya tienes un USB con el que puedes arrancar la instalación de Ubuntu en español.