Revista Tecnología

Base64: ¿Cómo funciona el algoritmo?

Publicado el 12 noviembre 2016 por Juan Luis Lopez @ardufreak

Muy buenas majetes! Hoy vamos a hablar del algoritmo de cifrado base64.

¿Qué es el cifrado base64? ¿Para qué sirve este algoritmo? ¿Cómo se cifra? ¿Los elefantes comen los cacahuetes pelados o sin pelar?

Bien, base64 es un sistema de cifrado que consta de 64 caracteres ASCII A-Z, a-z, 0-9 "+" y "/". Y que no requiere clave a la hora de cifrar no descifrar el mensaje, por lo que no es un sistema de encriptación. En resumen, Base 64 convierte cualquier cadena de texto que contenga caracteres ASCII en otra cadena de texto que solo tiene los caracteres A-Z, a-z, 0-9 "+" y "/".

Normalmente se emplea para cifrar cadenas de texto o para pasar parámetros por URL ya sean de texto o archivos (normalmente imágenes). También se emplea en el envío de correos electrónicos.

Curiosamente, el número 64 es el más alto que se puede generar con 6 bits y de esto trata este algoritmo. El proceso es muy sencillo. Se convierten los valores ASCII de los caracteres que forman el mensaje a binario, quedando 1 byte por cada caracter. Después se juntan todos los bytes y se separan en grupos de 6 bits. Como últmo paso se convierten esos grupos de 6 bits a letras según la tabla de caracteres base64 (que tiene el caracter "A" como 0 y el caracter "/" como 63).

Cifrando un texto en base64

Vamos a cifrar el texto "Ardufreak" (como no...) pasito a pasito...

Pasamos cada caracter a su valor an binario segun la tabla ASCII:

A = 01000001 r = 01110010 d = 01100100

Una vez convertidos, tenemos que poner todos los bits en una ristra,

010000010111001001100100011101010110011001110010011001010110000101101011

Y los separamos en grupos de 6 bits...

010000 010111 001001 100100 011101 010110 011001 110010 011001 010110 000101 101011

Y emplearemos la tabla base64 para asignar una letra a cada grupo de 6 bits

Base64: ¿Cómo funciona el algoritmo?
010000 010111 001001 100100 011101 010110 011001 110010 011001 010110 000101 101011

Q X J k d W Z y Z W F r

Así que nos quedaría la cadena : "QXJkdWZyZWFr"

En ocasiones, al agrupar los bits en grupos de 6, pueden quedar "residuos" al final de la cadena (bits que no forman un grupo de 6) y se soluciona añadiéndoles tantos ceros como bits falten fara rellenar el grupo de 6. Por ejemplo la cadena "Ardu" en binario es: 01000001011100100110010001110101. Si la separamos en grupos de 6 bits:

010000 010111 001001 100100 011101 010000

Q X J k d Q

Ahora viene lo "raro" y es que las cadenas resultantes tras el cifrado deben tener un numero de caracteres múltiplo de 4 y si no lo tienen se les añade tantos "=" como sean necesarios para que se cumpla. En nuestro primer caso (QXJkdWZyZWFr) la longitud de la cadena es 12, que es múltiplo de 4.

En el segundo caso (QXJkdQ) la longitud de la cadena es 6 por lo que hay que añadirle "==" para que la longitud sea múltiplo de 4.

Para descifrar una cadea en base64 solo tenéis que hacer el proceso inverso. A ver si conseguís (a mano) descifrar esto:

Tm9zIHZlbW9zIGVuIGVsIHByb3hpbW8gcG9zdA==

Hasta la próxima!


También podría interesarte :

Volver a la Portada de Logo Paperblog

Quizás te interesen los siguientes artículos :

  • Cómo conversar FÁCIL

    Cómo conversar FÁCIL

    Por esas cosas de la vida, ando bastante enfocado en este asunto de las conversaciones. No de las "habladas", sino de las conversaciones. Aquí me refiero a la... Leer el resto

    Por  Paulo Mesa
    PSICOLOGÍA, SALUD Y BIENESTAR
  • ¿Cómo conquistar el Mundo?

    ¿Cómo conquistar Mundo?

    Vicenc Fisas, Geopolítica Azul, Reforma de Naciones Unidas y el futuro de los cascos azules , Pluto Press, Londres, 1995, pp 133-134. (Prólogo de Federico... Leer el resto

    Por  Antonio Fernández Reyes
    SOCIEDAD
  • ¿Cómo enfrentar situaciones difíciles?

    ¿Cómo enfrentar situaciones difíciles?

    Todos pasamos en algún momento en la vida por situaciones que nos resultan muy complicadas de sobrellevar, algunas de ellas marcan fuertemente nuestro... Leer el resto

    Por  Tino López
    ECONOMÍA
  • ¿Cómo retener la inspiración?

    ¿Cómo retener inspiración?

    Conseguir la inspiración no es fácil, pero retenerla y para utilizarla cuando nosotros queremos es todavía más complicado, y es que, a todos a los que nos... Leer el resto

    Por  Vivelibro
    CULTURA Y OCIO, LIBROS
  • Cómo plantar Pistachos

    Cómo plantar Pistachos

    En el artículo de hoy voy a enseñaros a plantar Pistachos. El pistachero es un árbol de pequeño porte que produce un fruto muy utilizado en el ámbito culinario. Leer el resto

    Por  Ivan27
    100% VERDE, MEDIO AMBIENTE, MUNDO VEGETAL
  • Cómo elegir un primer

    Cómo elegir primer

    Amigas mías, En la actualidad existen decenas de primer en el mercado, para comenzar con esta entrada hay que destacar diciendo que es muy importante empezar co... Leer el resto

    Por  Suessencia
    BELLEZA
  • Cómo preparar galletas bretonas

    Cómo preparar galletas bretonas

    . Hoy me voy de viaje por el mundo aunque sea sólo con la mente. Me voy a Francia a comerme un clásico de la repostería francesa, unas galletas bretonas... Leer el resto

    Por  Beatriz Mandarinas
    COCINA, RECETAS, SABORES DEL MUNDO

Revista