Publicidad

Mostrando entradas con la etiqueta código. Mostrar todas las entradas
Mostrando entradas con la etiqueta código. Mostrar todas las entradas

miércoles, 1 de julio de 2015

El nuevo cambio del algoritmo de Google podría haber perjudicado a pequeñas empresas

La nueva actualización del algoritmo de Google se produjo el pasado 21 de abril. Se trata de un importante cambio de su algoritmo de búsqueda móvil que va a cambiar el orden por el que se clasifican los sitios web cuando los usuarios buscan algo a través de sus smartphones o tabletas.
Esta actualización tiene por objetivo favorecer aquellos sites que facilitan el acceso a través de dispositivos móviles que contengan por ejemplo texto grande, enlaces que faciliten el clic o aquellos que sean adaptables a los distintos dispositivos móviles. Por el contrario, todos aquellos sites que no puedan ser enmarcados dentro de lo que podemos denominar como “mobile friendly”, caerán en los puestos de clasificación de los resultados de búsqueda de Google.
Este cambio encuentra su origen en que en la actualidad, alrededor del 60% del tráfico online procede del móvil y Google quiere que los usuarios tengan una buena experiencia cada vez que estos hacen clic en un enlace a través de su dispositivo móvil.
Fue el pasado mes de febrero cuando la compañía dio a conocer estos nuevos cambios ofreciendo de esta forma a los web masters casi dos meses así como una gran cantidad de información de cómo se iban a producir estos cambios y poder adaptarse a los mismos.
Lo cierto es que las consecuencias menos favorecedoras serán para aquellos que desconozcan el mencionado cambio, principalmente las pequeñas empresas. “El 21 de abril un gran número de pequeñas empresas se quedaron sorprendidas al ver cómo el número de visitas a sus sites se redujo significativamente” explicó Itai Sadan, CEO de la compañía de construcción de páginas web Duda.
Google siempre ha apostado por la relevancia y el contenido es el rey. "Pero ese contenido está cambiando. Todavía es muy importante pero la experiencia del usuario también lo es y ya no es suficiente con que todo el contenido sea correcto. Sí la gente llega a su site y el contenido es bueno pero no legible o accesible, entonces no es bueno” ha declarado.

martes, 8 de enero de 2013

Hashing en MD5 usando Java

Hoy estaba programando la aplicación para Android, la cual usa una base de datos que he creado. Esta base de datos, guarda la contraseña de cada usuario, con lo cual, se me planteó la duda... ¿Cómo he de cifrarla contraseña?

Después de buscar un rato, e informarme un poco, decidí usar MD5. 

Aunque muchos de vosotros conozcáis como es un MD5, os haré una brevísima explicación. Para todos aquellos que quieran profundizar más en el asunto, podéis pasaros por la Wikipedia (Wikipedia:MD5) y hecharle un vistazo, entre otras muchas fuentes.

MD5 en criptografía es la abreviatura de Message-Digest Algorith 5, dicho de otra manera, Algoritmo de Resumen 5.

Esta codificación es de 128 bits y no ofrece un nivel elevado de seguridad comparado con otros algoritmos, aún así, queda un mensaje cifrado de 32 dígitos hexadecimales. Realmente MD5, no es un algoritmo de cifrado, lo que hace es "resumir" el texto o palabra proporcionado. Tal y como comento unas líneas más arriba, MD5 no es la mejor opción, puesto que ya esta algo "obsoleto", por ello, os recomiendo SHA256 o SHA512, los cuales son más fuertes que MD5.

Pero para el uso que actualmente quiero darle, es mas que suficiente.

Explicado un poco el MD5 os dejo la clase que yo me he creado para mi proyecto. Sencillo, y fácil de usar.


01 import java.security.MessageDigest;
02 import java.security.NoSuchAlgorithmException;
03 
04 public class MD5Converter {
05 
06  public MD5Converter() {
07   
08  }
09 
10  private static final Object[] CONSTS_HEX = {
11   '0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f' };
12  
13  public static String Encripatar (String mensaje)
14  {
15   try {
16    MessageDigest md = MessageDigest.getInstance("MD5");
17    byte[] bytes = md.digest(mensaje.getBytes());
18 
19    StringBuilder sb = new StringBuilder(2*bytes.length);
20    for(int i = 0; i< bytes.length;i++)
21    {
22     int bajo = (int)(bytes[i] & 0x0f);
23     int alto = (int)((bytes[i] & 0xf0) >>4);
24     sb.append(CONSTS_HEX[alto]);
25     sb.append(CONSTS_HEX[bajo]);
26 
27    }
28    return sb.toString();
29    
30   } catch (NoSuchAlgorithmException e) {
31    
32    return null;
33   }
34   
35  }
36 }


Tal como podéis observar, el algoritmo tiene una array con los valores Hexadecimales, y consta de un método publico, llamado Encriptar, el cual recibe el texto a encriptar devolviendo dicho texto ya encriptado, en caso de fallo, devuelve un null. 

Os dejo el enlace al repositorio donde podréis encontrar dicha clase, lista para usar en vuestros proyectos.


Código en Github


Quisiera agradecer a +Sergi Martínez  por la revisión rápida que me ha hecho al post, el cual, gracias a él ahora es un poquito mejor.