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

System.Security.Cryptography

Estas en el tema de System.Security.Cryptography en el foro de .NET en Foros del Web. Compañeros, les cuento estoy trabajando con dos funciones para encriptar y desencriptar datos (para los query string), como no eh trabajado antes tengo unos problemas, ...
  #1 (permalink)  
Antiguo 22/07/2009, 16:21
 
Fecha de Ingreso: febrero-2003
Ubicación: chile
Mensajes: 101
Antigüedad: 21 años, 2 meses
Puntos: 1
System.Security.Cryptography

Compañeros, les cuento estoy trabajando con dos funciones para encriptar y desencriptar datos (para los query string), como no eh trabajado antes tengo unos problemas, ojala alguien que tenga un poco mas de experiencia en esto me pueda ayudar.... Aqui estan las dos funciones Encriptar y Desencriptar

Código:
using System;
using System.Web;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.IO;
using System.Xml;
using System.Text;
using System.Security.Cryptography;
 

    public class Tools
    {
        private static  byte[] key = { };
        private static byte[] IV = { 0x12, 0x34, 0x56, 0x78, 0x90, 0xAB, 0xCD, 0xEF };

        public static string KEY
        {
            get { return "MyKeyNetTests"; }
        }

        public static string Decrypt(string stringToDecrypt, string sEncryptionKey)
        {
            byte[] inputByteArray = new byte[(stringToDecrypt.Length + 1)];
            try
            {
                key = System.Text.Encoding.UTF8.GetBytes(sEncryptionKey.Substring(0, 8));
                DESCryptoServiceProvider des = new DESCryptoServiceProvider();
                inputByteArray = Convert.FromBase64String(stringToDecrypt);
                MemoryStream ms = new MemoryStream();
                CryptoStream cs = new CryptoStream(ms, des.CreateDecryptor(key, IV), CryptoStreamMode.Write);
                cs.Write(inputByteArray, 0, inputByteArray.Length);
                cs.FlushFinalBlock();
                System.Text.Encoding encoding = System.Text.Encoding.UTF8;
                return encoding.GetString(ms.ToArray());
            }
            catch
            {
                return "0"; ;
            }
        }

        public static string Encrypt(string stringToEncrypt, string SEncryptionKey)
        {
            try
            {
                key = System.Text.Encoding.UTF8.GetBytes(SEncryptionKey.Substring(0, 8));
                DESCryptoServiceProvider des = new DESCryptoServiceProvider();
                byte[] inputByteArray = Encoding.UTF8.GetBytes(stringToEncrypt);
                MemoryStream ms = new MemoryStream();
                CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(key, IV), CryptoStreamMode.Write);
                cs.Write(inputByteArray, 0, inputByteArray.Length);
                cs.FlushFinalBlock();
                return Convert.ToBase64String(ms.ToArray());
            }
            catch 
            {
                return "0";
            }
        }  

    }
Ahora mi problema esta que hay datos que tienen problemas al desencriptarse, hago una depuración y se cae en esta linea (funcion desencriptar)
Código:
inputByteArray = Convert.FromBase64String(stringToDecrypt); 
Algunos de los datos que encripto y no logro desencriptar por que se cae son: 2, 4, 8, 20

Les agradecería mucho su ayuda
__________________
s[K]eL
  #2 (permalink)  
Antiguo 22/07/2009, 16:33
Avatar de dwaks  
Fecha de Ingreso: agosto-2002
Ubicación: Panamá
Mensajes: 962
Antigüedad: 21 años, 9 meses
Puntos: 15
Respuesta: System.Security.Cryptography

prueba estos otros métodos:
http://www.codeproject.com/KB/cs/Cryptography.aspx
http://www.codeproject.com/KB/securi...NetCrypto.aspx
http://www.csharper.net/blog/library...s_and_md5.aspx
http://www.obviex.com/samples/Encryption.aspx

Saludos,
  #3 (permalink)  
Antiguo 22/07/2009, 19:03
 
Fecha de Ingreso: febrero-2003
Ubicación: chile
Mensajes: 101
Antigüedad: 21 años, 2 meses
Puntos: 1
Respuesta: System.Security.Cryptography

Voy a Mirar y te cuento como me fue... gracias por los links.....
__________________
s[K]eL
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 08:01.