none
Probleama de codificación encriptando archivo RRS feed

  • Pregunta

  • Hola.

        'Debe ser 64 bits, 8 bytes.
        Private Const sSecretKey As String = "Password"
    
        Public Sub Main()
            EncryptFile("c:\temp\test.txt", _
                            "c:\temp\Encrypted.txt", _
                            sSecretKey)
            DecryptFile("c:\temp\Encrypted.txt", _
                        "c:\temp\Decrypted.txt", _
                        sSecretKey)
        End Sub
    
        Sub EncryptFile(ByVal sInputFilename As String, _
                       ByVal sOutputFilename As String, _
                       ByVal sKey As String)
    
            Dim fsInput As New FileStream(sInputFilename, _
                                        FileMode.Open, FileAccess.Read)
            Dim fsEncrypted As New FileStream(sOutputFilename, _
                                        FileMode.Create, FileAccess.Write)
    
            Dim DES As New DESCryptoServiceProvider()
    
            'Establecer la clave secreta para el algoritmo DES.
            'Se necesita una clave de 64 bits y IV para este proveedor
            DES.Key = ASCIIEncoding.ASCII.GetBytes(sKey)
    
            'Establecer el vector de inicialización.
            DES.IV = ASCIIEncoding.ASCII.GetBytes(sKey)
    
            'crear cifrado DES a partir de esta instancia
            Dim desencrypt As ICryptoTransform = DES.CreateEncryptor()
            'Crear una secuencia de cifrado que transforma la secuencia
    	'de archivos mediante cifrado DES
            Dim cryptostream As New CryptoStream(fsEncrypted, _
                                                desencrypt, _
                                                CryptoStreamMode.Write)
    
            'Leer el texto del archivo en la matriz de bytes
            Dim bytearrayinput(fsInput.Length - 1) As Byte
            fsInput.Read(bytearrayinput, 0, bytearrayinput.Length)
            'Escribir el archivo cifrado con DES
            cryptostream.Write(bytearrayinput, 0, bytearrayinput.Length)
            cryptostream.Close()
        End Sub
    
        Sub DecryptFile(ByVal sInputFilename As String, _
            ByVal sOutputFilename As String, _
            ByVal sKey As String)
    
            Dim DES As New DESCryptoServiceProvider()
            'Se requiere una clave de 64 bits y IV para este proveedor.
            'Establecer la clave secreta para el algoritmo DES.
            DES.Key() = ASCIIEncoding.ASCII.GetBytes(sKey)
            'Establecer el vector de inicialización.
            DES.IV = ASCIIEncoding.ASCII.GetBytes(sKey)
    
            'crear la secuencia de archivos para volver a leer el archivo cifrado
            Dim fsread As New FileStream(sInputFilename, FileMode.Open, FileAccess.Read)
            'crear descriptor DES a partir de nuestra instancia de DES
            Dim desdecrypt As ICryptoTransform = DES.CreateDecryptor()
    	'crear conjunto de secuencias de cifrado para leer y realizar 
    	'una transformación de descifrado DES en los bytes entrantes
            Dim cryptostreamDecr As New CryptoStream(fsread, desdecrypt, CryptoStreamMode.Read)
            'imprimir el contenido de archivo descifrado
            Dim fsDecrypted As New StreamWriter(sOutputFilename)
            fsDecrypted.Write(New StreamReader(cryptostreamDecr).ReadToEnd)
            fsDecrypted.Flush()
            fsDecrypted.Close()
        End Sub

    El problema es que al desencriptar el archivo, si éste contiene algún caracter especial como la ñ, letras acentuadas, etc, el resultado de la desencriptación es incorrecto. Se escriben caracteres extraños.

    Mis pregunta son: ¿Como soluciono el problema de la codificación?

    Edito. La siguiente no la necesito pues. Error mio.

    y, ¿Que hago para poder abrir el archivo desencriptado mientras está la aplicación ejecutándose?

    Muchas gracias.


    • Editado RafaelFM sábado, 20 de febrero de 2016 19:07
    sábado, 20 de febrero de 2016 18:57

Respuestas

  • "Rafaele FM" escribió:

    > Pero lo que verdaderamente necesito es una codificación para caracteres especiales.
    > Que el resultado de la desencriptación no se escriba con caracteres extreaños si se
    > encuentran La ñ, vocales acentuadas, u otras.

    Me vas a disculpar, pero acabo de realizar una prueba con el código que has publicado, y no he tenido ningún tipo de problema con la letra Ñ (mayúscula o minúscula), las vocales acentuadas ni con cualquier otro carácter especial.


    Enrique Martínez Montejo
    [MS MVP - Visual Studio y Tecnologías de Desarrollo]

    Nota informativa: La información contenida en este mensaje, así como el código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin garantías de ninguna clase, y no otorga derecho alguno. Usted asume cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o sugerido en el presente mensaje.

    Si esta respuesta le ha resultado útil, recuerde marcarla como satisfactoria.

    Si usas Visual Basic .NET y deseas ser productivo y feliz, se inteligente y activa la instrucción
    Option Strict.

    • Marcado como respuesta RafaelFM sábado, 20 de febrero de 2016 20:40
    sábado, 20 de febrero de 2016 19:48
    Moderador
  • Bueno.

    Lo he solucionado guardando manualmente los tres archivos con codificación UTF-8.

    Muchas gracias sus respuestas y comentarios.

    • Marcado como respuesta RafaelFM sábado, 20 de febrero de 2016 20:41
    sábado, 20 de febrero de 2016 20:37
  • "Rafaele FM" escribió:

    > Lo he solucionado guardando manualmente los tres archivos con codificación UTF-8.

    ¿De verdad crees que esa es la solución? Tu código de encriptación/desencriptación tiene que ser capaz de encriptar/desencriptar cualquier archivo, esté guardado en formato ANSI, UTF-8, Unicode, o con cualquier otra codificación.

    Si lo deseas probar, inserta en tu formulario, clase o módulo los siguientes procedimientos:

    Imports System.IO
    Imports System.Security.Cryptography
    Imports System.Text
    
        ''' <summary>
        ''' Desencripta los datos de la secuencia especificada en una nueva secuencia. 
        ''' </summary>
        ''' <param name="inStream">Secuencia de datos que se desencriptará. El procedimiento no cerrará la secuencia.</param>
        ''' <param name="outStream">Secuencia donde se escribirán los datos desencriptados. El procedimiento no cerrará la secuencia.</param>
        Public Sub Decrypt(inStream As Stream, outStream As Stream)
    
            Dim des As New DESCryptoServiceProvider()
    
            'Se requiere una clave de 64 bits y IV para este proveedor.
            'Establecer la clave secreta para el algoritmo DES.
            des.Key() = ASCIIEncoding.ASCII.GetBytes(sSecretKey)
    
            'Establecer el vector de inicialización.
            des.IV = ASCIIEncoding.ASCII.GetBytes(sSecretKey)
    
            Dim stream As New CryptoStream(inStream, des.CreateDecryptor(), CryptoStreamMode.Read)
            Dim length As Integer = 2048
    Dim buffer As Byte() = New Byte(length - 1) {} Try Dim i As Integer = stream.Read(buffer, 0, length) Do While (i > 0) outStream.Write(buffer, 0, i) i = stream.Read(buffer, 0, length) Loop Finally buffer = Nothing des.Dispose() End Try End Sub ''' <summary> ''' Encripta los datos de la secuencia especificada en una nueva secuencia. ''' </summary> ''' <param name="inStream">Secuencia de datos que se encriptará. El procedimiento no cerrará la secuencia.</param> ''' <param name="outStream">Secuencia donde se escribirán los datos encriptados. El procedimiento no cerrará la secuencia.</param> Public Sub Encrypt(inStream As Stream, outStream As Stream) Dim des As New DESCryptoServiceProvider() 'Se requiere una clave de 64 bits y IV para este proveedor. 'Establecer la clave secreta para el algoritmo DES. des.Key() = ASCIIEncoding.ASCII.GetBytes(sSecretKey) 'Establecer el vector de inicialización. des.IV = ASCIIEncoding.ASCII.GetBytes(sSecretKey) Dim stream As New CryptoStream(outStream, des.CreateEncryptor(), CryptoStreamMode.Write) Dim length As Integer = 2048 Dim buffer As Byte() = New Byte(length - 1) {} Try Dim i As Integer = inStream.Read(buffer, 0, length) Do While (i > 0) stream.Write(buffer, 0, i) i = inStream.Read(buffer, 0, length) Loop Finally buffer = Nothing stream.FlushFinalBlock() des.Dispose() End Try End Sub

    Cuando desees encriptar un archivo, ejecutarías lo siguiente:

        ' Debe ser 64 bits, 8 bytes.
        Private Const sSecretKey As String = "Password"
    
        Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    
            Try
                Dim buffer As Byte()
    
                ' Creamos una secuencia para el archivo que deseamos encriptar.
                Using fs As New FileStream("C:\Temp\test.txt", FileMode.Open, FileAccess.Read)
    
                    ' Creamos una secuencia de memoria para almacenar el texto cifrado.
                    Using ms As New MemoryStream()
                        ' Encriptamos la secuencia.
                        Me.Encrypt(fs, ms)
                        ' Obtenemos una matriz de bytes con los datos encriptados.
                        buffer = ms.ToArray()
                    End Using
    
                End Using
    
                ' Guardamos la matriz de bytes en el nuevo archivo. Se producirá una
                ' excepción si en la carpeta ya existe un archivo con el mismo nombre.
                Using fs As New FileStream("C:\Temp\Encrypted.txt", FileMode.CreateNew, FileAccess.Write)
                    fs.Write(buffer, 0, buffer.Length)
                End Using
    
            Catch ex As Exception
                MessageBox.Show(ex.Message)
    
            End Try
    
        End Sub

    Y cuando desees descriptarlo, ejecutarías éste otro:

        Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
    
            Try
                Dim buffer As Byte() = Nothing
    
                ' Creamos una secuencia para el archivo que deseamos desencriptar.
                Using fs As New FileStream("C:\Temporal\Encrypted.txt", FileMode.Open, FileAccess.Read)
    
                    ' Creamos una secuencia de memoria para almacenar el texto descifrado.
                    Using ms As New MemoryStream()
                        Me.Decrypt(fs, ms)
                        buffer = ms.ToArray()
                    End Using
    
                End Using
    
                ' Guardamos la matriz de bytes en el nuevo archivo. Se producirá una
                ' excepción si en la carpeta ya existe un archivo con el mismo nombre.
                Using fs As New FileStream("C:\Temporal\Decrypted.txt", FileMode.CreateNew, FileAccess.Write)
                    fs.Write(buffer, 0, buffer.Length)
                End Using
    
            Catch ex As Exception
                MessageBox.Show(ex.Message)
    
            End Try
    
        End Sub

    Por supuesto, puedes encriptar/desencriptar cualquier archivo, no necesariamente archivos de texto plano.

    >    ' Debe ser 64 bits, 8 bytes.
    >    Private Const sSecretKey As String = "Password"

    Por cierto, el archivo encriptado estará a salvo siempre y cuando nadie conozca la contraseña utilizada, así que espero que no guardes la contraseña en el código como texto plano. ;-)


    Enrique Martínez Montejo
    [MS MVP - Visual Studio y Tecnologías de Desarrollo]

    Nota informativa: La información contenida en este mensaje, así como el código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin garantías de ninguna clase, y no otorga derecho alguno. Usted asume cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o sugerido en el presente mensaje.

    Si esta respuesta le ha resultado útil, recuerde marcarla como satisfactoria.

    Si usas Visual Basic .NET y deseas ser productivo y feliz, se inteligente y activa la instrucción
    Option Strict.



    sábado, 20 de febrero de 2016 22:42
    Moderador

Todas las respuestas

  • "Rafaele FM" preguntó:

    > ¿Que hago para poder abrir el archivo desencriptado mientras está la aplicación ejecutándose?

    Entiendo que tan solo tienes que llamar al método DecryptFile pasándole la ruta del archivo encriptado:

        Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    
            Try
                DecryptFile("c:\temp\Encrypted.txt", "c:\temp\Decrypted.txt", sSecretKey)
    
            Catch ex As Exception
                MessageBox.Show(ex.Message)
    
            End Try
    
        End Sub
    

    El siguiente procedimiento sobra:

       Public Sub Main()
            EncryptFile("c:\temp\test.txt", "c:\temp\Encrypted.txt", sSecretKey)
            DecryptFile("c:\temp\Encrypted.txt", "c:\temp\Decrypted.txt", sSecretKey)
        End Sub

    Salvo que hayas indicado que el objeto de inicio sea el procedimiento Main y desees encriptar y desencriptar el archivo al inicio de la aplicación, claro está.


    Enrique Martínez Montejo
    [MS MVP - Visual Studio y Tecnologías de Desarrollo]

    Nota informativa: La información contenida en este mensaje, así como el código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin garantías de ninguna clase, y no otorga derecho alguno. Usted asume cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o sugerido en el presente mensaje.

    Si esta respuesta le ha resultado útil, recuerde marcarla como satisfactoria.

    Si usas Visual Basic .NET y deseas ser productivo y feliz, se inteligente y activa la instrucción
    Option Strict.

    sábado, 20 de febrero de 2016 19:20
    Moderador
  • Gracias Enrique M. Montejo.

    Pero lo que verdaderamente necesito es una codificación para caracteres especiales. Que el resultado de la desencriptación no se escriba con caracteres extreaños si se encuentran La ñ, vocales acentuadas, u otras.

    sábado, 20 de febrero de 2016 19:41
  • "Rafaele FM" escribió:

    > Pero lo que verdaderamente necesito es una codificación para caracteres especiales.
    > Que el resultado de la desencriptación no se escriba con caracteres extreaños si se
    > encuentran La ñ, vocales acentuadas, u otras.

    Me vas a disculpar, pero acabo de realizar una prueba con el código que has publicado, y no he tenido ningún tipo de problema con la letra Ñ (mayúscula o minúscula), las vocales acentuadas ni con cualquier otro carácter especial.


    Enrique Martínez Montejo
    [MS MVP - Visual Studio y Tecnologías de Desarrollo]

    Nota informativa: La información contenida en este mensaje, así como el código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin garantías de ninguna clase, y no otorga derecho alguno. Usted asume cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o sugerido en el presente mensaje.

    Si esta respuesta le ha resultado útil, recuerde marcarla como satisfactoria.

    Si usas Visual Basic .NET y deseas ser productivo y feliz, se inteligente y activa la instrucción
    Option Strict.

    • Marcado como respuesta RafaelFM sábado, 20 de febrero de 2016 20:40
    sábado, 20 de febrero de 2016 19:48
    Moderador
  • Gracias de nuevo Enrique M. Montejo.

    Esto es lo que hago.

        Private Sub BtnEncriptar_Click(sender As System.Object, e As System.EventArgs) Handles BtnEncriptar.Click
            EncryptFile(cryp & "test.txt", cryp & "Encrypted.txt", sSecretKey)
        End Sub
    
        Private Sub BtnDesencriptar_Click(sender As System.Object, e As System.EventArgs) Handles BtnDesencriptar.Click
            DecryptFile(cryp & "Encrypted.txt", cryp & "Decrypted.txt", sSecretKey)
        End Sub
    
        'Debe ser 64 bits, 8 bytes.
        Sub EncryptFile(ByVal sInputFilename As String, ByVal sOutputFilename As String, ByVal sKey As String)
    
            Dim fsInput As New FileStream(sInputFilename, FileMode.Open, FileAccess.Read)
            Dim fsEncrypted As New FileStream(sOutputFilename, FileMode.Create, FileAccess.Write)
            Dim DES As New DESCryptoServiceProvider()
    
            'Establecer la clave secreta para el algoritmo DES.
            'Se necesita una clave de 64 bits y IV para este proveedor
            DES.Key = ASCIIEncoding.ASCII.GetBytes(sKey)
    
            'Establecer el vector de inicialización.
            DES.IV = ASCIIEncoding.ASCII.GetBytes(sKey)
    
            'crear cifrado DES a partir de esta instancia
            Dim desencrypt As ICryptoTransform = DES.CreateEncryptor()
            'Crear una secuencia de cifrado que transforma la secuencia
            'de archivos mediante cifrado DES
            Dim cryptostream As New CryptoStream(fsEncrypted, desencrypt, CryptoStreamMode.Write)
    
            'Leer el texto del archivo en la matriz de bytes, False
            Dim bytearrayinput(fsInput.Length - 1) As Byte
            fsInput.Read(bytearrayinput, 0, bytearrayinput.Length)
            'Escribir el archivo cifrado con DES
            cryptostream.Write(bytearrayinput, 0, bytearrayinput.Length)
            cryptostream.Close()
        End Sub
    
        Sub DecryptFile(ByVal sInputFilename As String, ByVal sOutputFilename As String, ByVal sKey As String)
    
            Dim DES As New DESCryptoServiceProvider()
            'Se requiere una clave de 64 bits y IV para este proveedor.
            'Establecer la clave secreta para el algoritmo DES.
            DES.Key() = ASCIIEncoding.ASCII.GetBytes(sKey)
            'Establecer el vector de inicialización.
            DES.IV = ASCIIEncoding.ASCII.GetBytes(sKey)
    
            'crear la secuencia de archivos para volver a leer el archivo cifrado
            Dim fsread As New FileStream(sInputFilename, FileMode.Open, FileAccess.Read)
            'crear descriptor DES a partir de nuestra instancia de DES
            Dim desdecrypt As ICryptoTransform = DES.CreateDecryptor()
            'crear conjunto de secuencias de cifrado para leer y realizar 
            'una transformación de descifrado DES en los bytes entrantes
            Dim cryptostreamDecr As New CryptoStream(fsread, desdecrypt, CryptoStreamMode.Read)
            'imprimir el contenido de archivo descifrado
            Dim fsDecrypted As New StreamWriter(sOutputFilename)
            fsDecrypted.Write(New StreamReader(cryptostreamDecr).ReadToEnd)
            fsDecrypted.Flush()
            fsDecrypted.Close()
        End Sub
    

    Además,  el archivo "Decrypted.txt" se guarda siempre como UTF-8,

    aunque, manualmente se guarde como ANSI.

    sábado, 20 de febrero de 2016 20:34
  • Bueno.

    Lo he solucionado guardando manualmente los tres archivos con codificación UTF-8.

    Muchas gracias sus respuestas y comentarios.

    • Marcado como respuesta RafaelFM sábado, 20 de febrero de 2016 20:41
    sábado, 20 de febrero de 2016 20:37
  • "Rafaele FM" escribió:

    > Lo he solucionado guardando manualmente los tres archivos con codificación UTF-8.

    ¿De verdad crees que esa es la solución? Tu código de encriptación/desencriptación tiene que ser capaz de encriptar/desencriptar cualquier archivo, esté guardado en formato ANSI, UTF-8, Unicode, o con cualquier otra codificación.

    Si lo deseas probar, inserta en tu formulario, clase o módulo los siguientes procedimientos:

    Imports System.IO
    Imports System.Security.Cryptography
    Imports System.Text
    
        ''' <summary>
        ''' Desencripta los datos de la secuencia especificada en una nueva secuencia. 
        ''' </summary>
        ''' <param name="inStream">Secuencia de datos que se desencriptará. El procedimiento no cerrará la secuencia.</param>
        ''' <param name="outStream">Secuencia donde se escribirán los datos desencriptados. El procedimiento no cerrará la secuencia.</param>
        Public Sub Decrypt(inStream As Stream, outStream As Stream)
    
            Dim des As New DESCryptoServiceProvider()
    
            'Se requiere una clave de 64 bits y IV para este proveedor.
            'Establecer la clave secreta para el algoritmo DES.
            des.Key() = ASCIIEncoding.ASCII.GetBytes(sSecretKey)
    
            'Establecer el vector de inicialización.
            des.IV = ASCIIEncoding.ASCII.GetBytes(sSecretKey)
    
            Dim stream As New CryptoStream(inStream, des.CreateDecryptor(), CryptoStreamMode.Read)
            Dim length As Integer = 2048
    Dim buffer As Byte() = New Byte(length - 1) {} Try Dim i As Integer = stream.Read(buffer, 0, length) Do While (i > 0) outStream.Write(buffer, 0, i) i = stream.Read(buffer, 0, length) Loop Finally buffer = Nothing des.Dispose() End Try End Sub ''' <summary> ''' Encripta los datos de la secuencia especificada en una nueva secuencia. ''' </summary> ''' <param name="inStream">Secuencia de datos que se encriptará. El procedimiento no cerrará la secuencia.</param> ''' <param name="outStream">Secuencia donde se escribirán los datos encriptados. El procedimiento no cerrará la secuencia.</param> Public Sub Encrypt(inStream As Stream, outStream As Stream) Dim des As New DESCryptoServiceProvider() 'Se requiere una clave de 64 bits y IV para este proveedor. 'Establecer la clave secreta para el algoritmo DES. des.Key() = ASCIIEncoding.ASCII.GetBytes(sSecretKey) 'Establecer el vector de inicialización. des.IV = ASCIIEncoding.ASCII.GetBytes(sSecretKey) Dim stream As New CryptoStream(outStream, des.CreateEncryptor(), CryptoStreamMode.Write) Dim length As Integer = 2048 Dim buffer As Byte() = New Byte(length - 1) {} Try Dim i As Integer = inStream.Read(buffer, 0, length) Do While (i > 0) stream.Write(buffer, 0, i) i = inStream.Read(buffer, 0, length) Loop Finally buffer = Nothing stream.FlushFinalBlock() des.Dispose() End Try End Sub

    Cuando desees encriptar un archivo, ejecutarías lo siguiente:

        ' Debe ser 64 bits, 8 bytes.
        Private Const sSecretKey As String = "Password"
    
        Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    
            Try
                Dim buffer As Byte()
    
                ' Creamos una secuencia para el archivo que deseamos encriptar.
                Using fs As New FileStream("C:\Temp\test.txt", FileMode.Open, FileAccess.Read)
    
                    ' Creamos una secuencia de memoria para almacenar el texto cifrado.
                    Using ms As New MemoryStream()
                        ' Encriptamos la secuencia.
                        Me.Encrypt(fs, ms)
                        ' Obtenemos una matriz de bytes con los datos encriptados.
                        buffer = ms.ToArray()
                    End Using
    
                End Using
    
                ' Guardamos la matriz de bytes en el nuevo archivo. Se producirá una
                ' excepción si en la carpeta ya existe un archivo con el mismo nombre.
                Using fs As New FileStream("C:\Temp\Encrypted.txt", FileMode.CreateNew, FileAccess.Write)
                    fs.Write(buffer, 0, buffer.Length)
                End Using
    
            Catch ex As Exception
                MessageBox.Show(ex.Message)
    
            End Try
    
        End Sub

    Y cuando desees descriptarlo, ejecutarías éste otro:

        Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
    
            Try
                Dim buffer As Byte() = Nothing
    
                ' Creamos una secuencia para el archivo que deseamos desencriptar.
                Using fs As New FileStream("C:\Temporal\Encrypted.txt", FileMode.Open, FileAccess.Read)
    
                    ' Creamos una secuencia de memoria para almacenar el texto descifrado.
                    Using ms As New MemoryStream()
                        Me.Decrypt(fs, ms)
                        buffer = ms.ToArray()
                    End Using
    
                End Using
    
                ' Guardamos la matriz de bytes en el nuevo archivo. Se producirá una
                ' excepción si en la carpeta ya existe un archivo con el mismo nombre.
                Using fs As New FileStream("C:\Temporal\Decrypted.txt", FileMode.CreateNew, FileAccess.Write)
                    fs.Write(buffer, 0, buffer.Length)
                End Using
    
            Catch ex As Exception
                MessageBox.Show(ex.Message)
    
            End Try
    
        End Sub

    Por supuesto, puedes encriptar/desencriptar cualquier archivo, no necesariamente archivos de texto plano.

    >    ' Debe ser 64 bits, 8 bytes.
    >    Private Const sSecretKey As String = "Password"

    Por cierto, el archivo encriptado estará a salvo siempre y cuando nadie conozca la contraseña utilizada, así que espero que no guardes la contraseña en el código como texto plano. ;-)


    Enrique Martínez Montejo
    [MS MVP - Visual Studio y Tecnologías de Desarrollo]

    Nota informativa: La información contenida en este mensaje, así como el código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin garantías de ninguna clase, y no otorga derecho alguno. Usted asume cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o sugerido en el presente mensaje.

    Si esta respuesta le ha resultado útil, recuerde marcarla como satisfactoria.

    Si usas Visual Basic .NET y deseas ser productivo y feliz, se inteligente y activa la instrucción
    Option Strict.



    sábado, 20 de febrero de 2016 22:42
    Moderador