• Una Buena Razon Para No Usar Siempre La Misma Password

    0

    Días atrás twitter puso en alerta a algunos usuarios para que cambien las passwords porque estaban siendo victimas de prishing. Pasa y pasa que muchos developers hacen herramientas open source, como por ejemplo foros open source PHP los cuales tienen exploits. Trackean sus instalaciones y cuando el foro se hace un poco popular ingresan con un master password (por ejemplo) y se roban todas las passwords y emails. Este es el típico caso donde te chorean la password. Viste que facil es que sepan tu password ? Bueno, ahora perfectamente saben que no deben poner la misma password para todos los sites.

    Ahora, es muy molesto estar acordandose passwords y demas, para eso, hoy les acerco una tecnica para aquellos Java Boys que quieran tener un poco de complicacion en sus vidas.

    La técnica se basa en 1 password master y un 1 string random que puede perfectamente ser el nombre del servicio.

    Por ejemplo, yo elijo como password master “rodrigo” y por ejemplo el servicio de email de yahoo es simplemente “yahoo”. Entonces tenemos “rodrigo”+”yahoo”, en el caso de gmail seria, “rodrigo” +”google” and so on.

    Ahora, como combinar estas palabras para generar una password ? Usamos un algoritmo MD5 bien casero en Java. El código.

    public class MD5Generator() {
    private MessageDigest messageDigest;
    
    private MessageDigest getMessageDigestMD5() throws NoSuchAlgorithmException {
    	if (this.messageDigest == null) {
    		this.messageDigest = MessageDigest.getInstance("MD5");
    	}
    	return this.messageDigest;
    }
    
    public String generate(String key) throws Exception {
    	// start fresh
    	this.getMessageDigestMD5().reset();
    	this.getMessageDigestMD5().update(key.getBytes());
    	byte[] bytes = this.getMessageDigestMD5().digest();
    	// buffer to write the md5 hash to
    	StringBuffer buff = new StringBuffer();
    	for (int l = 0; l < bytes.length; l++) {
    		String hx = Integer.toHexString(0xFF & bytes[l]);
    		// make sure the hex string is correct if 1 character
    		if (hx.length() == 1) buff.append("0");
    		buff.append(hx);
    	}
    	return buff.toString().trim();
    }
    }
    

    Ahora, el uso seria algo asi:

    String master = "rodrigo";
    String service = "yahoo";
    String longMD5 = new MD5Generator().generate(master+service);
    

    La variable longMD5 va a ser un choclo como esto: “37b0227d88adcf07ddb469fa45ad2938″ per pueden hacer un substring para acortarla a por ejemplo 8 caracteres.

    String pass = new MD5Generator().generate(master+service).substring(0,8);
    

    Que lo disfruten.

  • Mas JQuery parte V

    0

    Unwrap elementos

    El método “.wrap()” existe hace rato, pero ahora John Resig ha agregado “.unwrap()” el cual remueve todos los tags exteriores al nodo JQuery seleccionado. Como funciona ?

    Supongamos el siguiente HTML:

    <div>
      <p>Some text here</p>
    </div>

    Queremos extraer el tag <p>, entonces usamos “.unwrap()”.

    $("p").unwrap();

    Este metodo quita el tag <div> que contiene a <p>. Elimina fácilmente el parent tag.

  • Como obtener la fecha de ayer con shell script

    0

    Estuve necesitando obtener la fecha de ayer para poder hacer un cron backup diario de los logs de los servidores, por ende hice un shell script para poder obtener los archivos de ayer, zipearlos y mandarlos a otro folder.

    #!/bin/sh
    
    #get the date from yesteday
    DATE=$(date --date='1 day ago' +%Y-%m-%d)
    
    mv /var/log/tomcat/site1.$DATE* old
    mv /var/log/tomcat/site2.$DATE* old
    mv /var/log/tomcat/localhost.$DATE* old
    mv /var/log/tomcat/catalina.$DATE* old
    mv /var/log/tomcat/site2.com_access_log.$DATE* old
    mv /var/log/tomcat/site1.com_access_log.$DATE* old
    
    zip -m9 /usr/share/store/log/$DATE-log-backup.zip /var/log/old/*
    
  • Mas JQuery 1.4 Parte IV

    0

    Este feature esta muy bueno ya que podes agregar un delay al animation queue. Permite pausar los ciclos entre las animaciones sin estar llamando a setTimeout entre medio. Aca el ejemplo:

    $("#mydiv")
        .slideDown() // slide down
        .delay(200) // just wait 200 milliseconds, this is the delay
        .fadeIn(); // fade in effect
    
  • Mas JQuery 1.4 Parte III

    0

    Con la llegada de JQuery 1.4 John Resig agregó nuevos eventos. Focus in y focus out ahora estan disponibles y son realmente útiles.

    $("#myinput").focusin(function() {
      //some code
    });
    
    $("#myinput").focusout(function() {
      //some code
    });
    
Page 1 of 4512345»102030...Last »