Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Leer binario y pasarlo a Base64

Estas en el tema de Leer binario y pasarlo a Base64 en el foro de C/C++ en Foros del Web. Hola estoy haciendo un programa de transmisión de archivos, pero no se como leer un archivo y cifrar su contenido en base64. Si me pudieran ...
  #1 (permalink)  
Antiguo 22/12/2008, 10:27
 
Fecha de Ingreso: diciembre-2008
Mensajes: 1
Antigüedad: 15 años, 4 meses
Puntos: 0
Leer binario y pasarlo a Base64

Hola estoy haciendo un programa de transmisión de archivos, pero no se como leer un archivo y cifrar su contenido en base64.

Si me pudieran dar algunas indicaciones les estaría muy agradecido.

Gracias.
  #2 (permalink)  
Antiguo 27/12/2008, 12:34
 
Fecha de Ingreso: diciembre-2008
Ubicación: San Sebastián
Mensajes: 15
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: Leer binario y pasarlo a Base64

Sólo podrías cifrar en base64 ficheros de texto (.txt, .php, .html, etc.), no binarios. Ya que base64 sólo utiliza rangos de A-Z,a-z,0-9, y otros símbolos (?,=,¡,etc.) que también están en la tabla ASCII. Para cifrar binarios, puedes usar, por ejemplo, DES.

¡Saludos!
  #3 (permalink)  
Antiguo 27/12/2008, 13:53
venkman
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Leer binario y pasarlo a Base64

Creo que te confundes, Bb-7.
Base64 utiliza esos caracteres para representar el contenido codificado, pero eso puede representar prefectamente algo que originalmente es binario. De hecho, al codificar en Base64 un texto primero se hace una conversión a binario, ya que en Base64 los bits se agrupan de 6 en 6 (2^6=64).



Dark_eye, el proceso de codificar en Base64 es en realidad bastante simple. Básicamente, el algoritmo es:

1. lees el binario (e.g. 10110110100010101111010101000101010101011010110101 011...)
2. agrupas los bits de 6 en seis: (e.g. 101101 101000 101011 110101 010001 010101 010110 101101 01011...)
3. conviertes cada grupo en su valor decimal. (e.g. 45 40 43 53 17 21 22 45 ...)
4.
en el caracter equivalente del rango A-Za-z0-9. Esto se hace simplemente contando. (e.g. t o r 1 R U V t ...)
5. Lo juntas todo. (e.g. tor1RUVt...)

En la parte del final tendrás que hacer algunos ajustes, puesto que tu original no tiene por qué tener un número de bits que sea múltiplo de 6. Así que tendrás que ajustar y poner algún marcador de final o incluir la longitud original o similar. Para hacer esto, hay diferentes métodos y protocolos que han elegido soluciones diferentes. Busca más información en Wikipedia o directamente en los varios RFCs publicados.
  #4 (permalink)  
Antiguo 27/12/2008, 14:15
 
Fecha de Ingreso: diciembre-2008
Ubicación: San Sebastián
Mensajes: 15
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: Leer binario y pasarlo a Base64

A, pues tal vez... Es que yo tenía un programa que sólo codificaba textos a base64. Eso es lo que me ha confundido. Examinaré el source del programa, a ver...
  #5 (permalink)  
Antiguo 27/12/2008, 15:00
venkman
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Leer binario y pasarlo a Base64

Bueno, es que es un uso muy habitual. Pero no es el único.

Si codificas texto, básicamente hay un paso anterior que es el de pasar del texto a binario, según la codificación en la que esté el texto (que generalmente son 8bits y en algunos casos 16).

De todos modos, debería aclarar una cosa, y es que Base64 es una forma de codificación (es decir, una forma de representar el contenido), no es un método de cifrado (es decir, una forma de encriptación). Base64 no supone ningún tipo de protección.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:28.