domingo, julio 19, 2015

Comprueba que tus archivos se hayan descargado bien de Internet. [md5sum]

En ocasiones siempre que descargamos algo de Internet nos queda la duda: ¿Se habrá descargado bien?, si fuera una peli o una imagen lo sabemos al momento ya que se podrán ver o no, pero en el caso de archivos comprimidos de sistema como las ROMs y las GAPPS y demás paquetes de Android, no podemos saberlo a menos que hagamos uso de ellos. El caso es que un paquete mal descargado o averiado de manera intencional, es una pesadilla ya que en el momento de usarlo, será muy tarde para echarse atrás y podemos causar averías en un dispositivo por eso.
Para evitar esto, la tecnología nos provee de un simple archivo que es como la huella digital del paquete que nos hemos descargado. Esta huella es única y si la comparamos con la que dice tener el dueño o proveedor del paquete y son idénticas, el paquete estará correcto. Esta "huella" se llama Hash y existen 2 tipos fundamentalmente: md5 y sha1.

Son muy parecidos y en el caso del primero, se suele identificar por el comando md5sum y si el paquete durante su descarga le ha faltado un trozo por descargar o ha sido modificado, cuando se complete la descarga, tendrá una huella distinta a la original. A nivel de usuario el mas utilizado es md5, así que hablaremos de éste.

Normalmente los servidores de archivos nos ofrecen este dato para que los usuarios podamos comprobar si el hash del archivo descargado, se corresponde con el de ellos. Por ejemplo vamos a ver una imagen del Servidor de descargas de CyanogenMod:


Estos son los dispositivos que tienen actualizaciones y vemos que a la derecha de cada uno, se adjunta el enlace de descarga directa del paquete de la ROM y debajo en pequeño hay un comando md5sum seguido de caracteres alfanuméricos. Si quisiéramos saber si el paquete se ha descargado bien después de hacerlo, buscaríamos su md5sum y lo comparamos con el de CyanogenMod a ver si son iguales.

Pues bien, lo que tenemos que hacer es averiguar como saber el md5sum de nuestro archivo. En los sistemas GNU-Linux y en MacOS esto es muy fácil se hace mediante la Terminal de manera muy sencilla en un solo paso y es en Windows que se usa un programa aunque es muy simple.
Independientemente del sistema que tenga nuestro ordenador, lo mas importante es saber la ruta de dónde se descargó el archivo. Suele ser la carpeta: Descargas.

COMPROBAR MD5 EN GNU-LINUX.

Imaginemos que usamos Ubuntu, Linux Mint o cualquier otra distribución de Linux en el ordenador y el paquete descargado lo tenemos en la carpeta Descargas por ejemplo. Vamos a usar de "conejillo de indias" un paquete de Aplicaciones de Google conocido como Gapps de la Web de BaNkS y así lo podemos comparar con uno verdadero. Pues solo tenemos que abrir la Terminal y escribimos el comando md5sum seguido de la ruta del archivo que está en la carpeta Descargas. Sería algo así:

$ md5sum /home/txanner/Descargas/BaNkS-dynamic-gapps-5.x.x-7-17-15.zip

Si damos Enter en un segundo nos muestra el valor alfanumérico del hash:

6928c14cb1fe224c4f4c972cbf928195  /home/txanner/Descargas/BaNkS-dynamic-gapps-5.x.x-7-17-15.zip


Con esto es suficiente. Ahora solo tienen que comparar ese número con el que nos dice el servidor de archivos y si ambos coinciden, está correcto. En el caso de que no sepan escribir la ruta del archivo en la consola hay 2 maneras fáciles de saber la ruta. Por ejemplo escriben md5sum y después arrastran el archivo con el ratón dentro de la Terminal y verán que se copia la ruta sola. También pueden hacer clic derecho sobre el archivo: copiar y dentro de la consola: pegar.

Ahora para comparar, en la Web original, observamos el número de md5sum que nos da el servidor y lo comparamos:


Como verán son idénticos, esto quiere decir que el paquete descargado esta genial. Si les parece un poco incómodo comparar los números así, copien ambos números a un block de notas o un editor de texto y los podrán observar mejor:


Si en vez del comando md5sum el dato que nos diese la Web fuese SHA1 entonces en vez de poner md5sum, en la terminal pondríamos el comando sha1sum sería:

$ sha1sum /home/txanner/Descargas/BaNkS-dynamic-gapps-5.x.x-7-17-15.zip

COMPROBAR MD5 EN MAC-OS. 

Es exactamente igual al anterior, pero en vez del comando md5sum usaremos el comando: md5 seguido de la ruta del fichero tal y como en Linux. Sería algo así:

 /Descargas md5 BaNkS-dynamic-gapps-5.x.x-7-17-15.zip

al dar Enter nos mostraría algo así:

6928c14cb1fe224c4f4c972cbf928195  BaNkS-dynamic-gapps-5.x.x-7-17-15.zip

En el caso de que el dato a comparar fuera sha1 entonces el comando en MacOS es shasum seguido del nombre del archivo.

/Descargas shasum BaNkS-dynamic-gapps-5.x.x-7-17-15.zip

COMPROBAR MD5 EN WINDOWS.

Para determinar el hash md5 en Windows hay muchos programas disponibles y podemos usar el que nos apetezca. A mi me parece muy sencillo: md5 Check. Actualmente lo pueden descargar de Softpedia que tiene publicada la versión 3.1 y es muy ligero solo "pesa" 444 kb.


Este programa es un ejecutable en cuanto lo descarguen, ejecutan el archivo y siguen las instrucciones y verán que el programa es muy sencillo, tiene una interfaz muy intuitiva que sólo nos pregunta al igual que en Linux y Mac la ruta del archivo para analizarlo:


Solo pinchamos en el botón Browse... y le damos la ruta donde está el archivo en Descargas o donde sea que esté. De inmediato el programa calculará el hash md5 y nos lo añade en la primera casilla de comparación:


Lo único que tenemos que hacer es copiar el archivo hash que nos da la página Web en la siguiente casilla debajo del anterior y el programa nos dirá de inmediato si es correcto o no. Se debe visualizar una casilla en color verde con el valor checksums match como se muestra en la imagen:


En caso de que no coincida el hash con el original, entonces nuestro archivo descargado tiene problemas y nos mostrará una barra informativa de color amarillo indicándolo. En este caso debemos volver a descargar el archivo o buscarnos otra fuente.


En resumen como podrán ver es una herramienta muy buena y necesaria, sobre todo a los que se deciden a descargar archivos que contienen ROMs de Android o Distribuciones de Linux ya que esto nos evita bastantes dolores de cabeza y como ven no toma ni 5 minutos de nuestro tiempo. Mucha Suerte!!!