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+