none
Encriptar y desencriptar archivos

    Question

  • Hola, desarrolllo una aplicación donde utilizo un archivo de configuración, al iniciar la aplicación carga dicho archivo, sin embargo me topo con el problema de seguridad. Necesito q nadie tenga acceso a este archivo, solo la aplicación, q pueda leer y escribir en él. Pensé q la mejor manera de hacer esto, sería encriptando dicho archivo y desde código desencriptarlo para poder manipularlo. ¿Alguien sabe como puedo hacer esto o alguna forma de poder proteger el archivo?

    Muchas gracias. Smile
    Thursday, October 25, 2007 10:01 PM

Answers

All replies

  • Hola,

     

    Mira a ver si este enlace te ayuda,

     

    http://forums.microsoft.com/msdn-es/ShowPost.aspx?PostID=977064&SiteID=11

     

    Un Saludo

     

    Thursday, October 25, 2007 10:22 PM
  • Ya vi el link, gracias. Pero ahi solo encriptan un solo string. Yo necesito encriptar un archivo completo . Lo intente con File.Encrypt(archivo); pero lo único q hizo fue cambiarlo de color dentro de su carpeta, puso el nombre verde, veo en propiedades y dice q esta cifrado y hasta una huella digital le puso, pero de todas formas puedo manipularlo, lo abres, lo puedes cambiar, etc. Entonces, esa no me fuinciono o no la utilice bien. ¿alguien q sepa?

    De todas maneras agradezco q me respondieras Fran
    Thursday, October 25, 2007 10:59 PM
  • Hola Zorry puedes probar encriptando seccion por seccion todo el archivo de configuracion, por ejemplo si deseas encriptar la seccion AppSettings puedes utilizar el siguiente fragmento de codigo

     

    using System.Configuration
    using System.Web.Configuration

    private void EncryptAppSettings() 
    {
        Configuration objConfig = WebConfigurationManager.OpenWebConfiguration(Request.ApplicationPath);
        AppSettingsSection objAppsettings = (AppSettingsSection)objConfig.GetSection("appSettings");
        if (!objAppsettings.SectionInformation.IsProtected)
        {
            objAppsettings.SectionInformation.ProtectSection("RsaProtectedConfigurationProvider");
            objAppsettings.SectionInformation.ForceSave = true;
            objConfig.Save(ConfigurationSaveMode.Modified);
        }
    }

     

    Ahora bien para desencriptar la seccion previamente encriptada puedes utilizar el siguiente fragmento de codigo

    private void DecryptAppSettings()
    {
        Configuration objConfig = WebConfigurationManager.OpenWebConfiguration(Request.ApplicationPath);
        AppSettingsSection objAppsettings = (AppSettingsSection)objConfig.GetSection("appSettings");
        if (objAppsettings.SectionInformation.IsProtected)
        {
            objAppsettings.SectionInformation.UnprotectSection();
            objAppsettings.SectionInformation.ForceSave = true;
            objConfig.Save(ConfigurationSaveMode.Modified);
        }
    }

     

    Espero que te sea de utilidad

    Saludos

     

    Friday, October 26, 2007 12:01 AM
  • Hola,

     

    Puedes encriptar el contenido del fichero, para que no se vea el contenido. Ahi te vuelvo a dejar unos enlaces .

     

    Almacenamiento aislado: http://msdn2.microsoft.com/es-es/library/bdts8hk0(VS.80).aspx

     

    Servicios Criptográficos: http://msdn2.microsoft.com/es-es/library/93bskf9z(VS.80).aspx

     

    Un Saludo

    Friday, October 26, 2007 8:32 AM
  • Gracias por tu ayuda. Me anime a probar con el de proteccion de datos:

    http://msdn2.microsoft.com/es-es/library/ms229741(VS.80).aspx

    Quise ver como funcionaba el ejemplo q viene ahi y pues me marca error con "MemoryProtectionScope" y "DataProtectionScope"

    No sé si me falta alguna librería o algo. ¿Podrias ayudarme?

    Gracias,
    Friday, October 26, 2007 4:51 PM
  •  Zorry Escribió:
    Gracias por tu ayuda. Me anime a probar con el de proteccion de datos:

    http://msdn2.microsoft.com/es-es/library/ms229741(VS.80).aspx

    Quise ver como funcionaba el ejemplo q viene ahi y pues me marca error con "MemoryProtectionScope" y "DataProtectionScope"

    No sé si me falta alguna librería o algo. ¿Podrias ayudarme?

    Gracias,


    Cabe aclarar q mi aplicación, no es WEB, es un softphone.
    Friday, October 26, 2007 4:53 PM
  • Hola de nuevo,

     

    ¿Has importado los espacio de nombres de esas clases?. En cuanto al tipo de aplicación... ya no se yo que decirte, ¿es windows mobile?

     

    Un Saludo

     

     

    Friday, October 26, 2007 4:56 PM
  • Me parece que te falta agregar la referencia
    vas a menu Proyecto - agregar referencia.
    selecciona la ficha .NET  y buscas
    System.Security
    espero que con eso funke


    Monday, October 27, 2008 4:08 PM
  •  

    Un año tarde...

    pero bueno... puede servirle a alguien..

    Monday, October 27, 2008 4:33 PM