Foros del Web » Programación para mayores de 30 ;) » Programación General »

Encriptar y Desencriptar C# .net

Estas en el tema de Encriptar y Desencriptar C# .net en el foro de Programación General en Foros del Web. Antes que nada, debemos incluir los siguientes namespaces, ya que en ellos se encuentran las funciones que utilizaremos: namespace Archivos{ using System; using System.IO; using ...
  #1 (permalink)  
Antiguo 21/06/2010, 08:45
Avatar de xrojas  
Fecha de Ingreso: noviembre-2009
Mensajes: 14
Antigüedad: 10 años, 7 meses
Puntos: 0
De acuerdo Encriptar y Desencriptar C# .net

Antes que nada, debemos incluir los siguientes namespaces, ya que en ellos se encuentran las funciones que utilizaremos:

namespace Archivos{
using System;
using System.IO;
using System.Text;
using System.Windows.Forms;
using System.Drawing;


Posteriormente, implementaremos un método para convertir una imágen a cadena en base64. Este método recibe el nombre del archivo a decodificar y devuelve un string con la cadena codificada, la cual posteriormente almacenaremos en un archivo o bien, en una base de datos.
public string CodificarFoto (string sNombreArchivo) {
string sBase64 = "";
// Declaramos fs para tener acceso a la imagen residente en la maquina cliente.
FileStream fs = new FileStream(sNombreArchivo, FileMode.Open);
// Declaramos un Leector Binario para accesar a los datos de la imagen pasarlos a un arreglo de bytes
BinaryReader br = new BinaryReader(fs);
byte[] bytes = new byte[(int)fs.Length];
try {
br.Read(bytes, 0, bytes.Length);
// base64 es la cadena en donde se guarda el arreglo de bytes ya convertido
sBase64 = Convert.ToBase64String (bytes);
return sBase64;
}
catch {
MessageBox.Show("Ocurri un error al cargar la fotografa.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1);
return null;
}
// Se cierran los archivos para liberar memoria.
finally {
fs.Close();
fs = null;
br = null;
bytes = null;
}
}


El siguiente paso consiste en realizar el proceso inverso, es decir, recibimos una cadena codificada en base64 y retornamos el nombre del archivo decodificado .
public string DecodificarFoto (string sBase64) {
// Declaramos fs para tener crear un nuevo archivo temporal en la maquina cliente.
// y memStream para almacenar en memoria la cadena recibida.
string sImagenTemporal = @"c:foto-decodificada.jpg";
FileStream fs = new FileStream(sImagenTemporal, FileMode.Create);
BinaryWriter bw = new BinaryWriter (fs);
byte[] bytes;
try {
bytes = Convert.FromBase64String (sBase64);
bw.Write (bytes);
return sImagenTemporal;
}
catch {
MessageBox.Show("Ocurrió un error al leer la imgen.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1);
return sImagenTemporal= @"c:no-disponible.jpg";
}
finally {
fs.Close();
bytes = null;
bw = null;
sBase64 = null;
}
}


Comenten!!

Etiquetas: .net, csharp, desencriptado, encriptar
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 10:50.