Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [VB.NET] Stringa di connessione con password criptata

    Salve.
    Ho un'applicazione che fa accesso a un DB SQL server. Essa legge i parametri di configurazione (hostname, username, password) da un comune file di testo. Il problema è che vorrei che in questo file di testo non fosse visibile la password e quindi vorrei criptarla. Ma quando poi compongo la stringa di connessione leggendo da lì non funzionerebbe la connessione. Come potrei risolvere? Grazie in anticipo

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    970
    La key utilizzata per criptare e decriptare deve essere lunga almeno 8 caratteri e chiaramente deve essere la stessa per lo stesso file, cioe se utilizzi 'abcdefgh' per criptare il file pippo.txt per decriptare lo stesso file dovrai utilizzare la stessa Key.
    codice:
    Imports System.Security
    Imports System.Security.Cryptography
    
    
     Private Sub EncryptFile(ByVal sInputFilename As String, _
                       ByVal sOutputFilename As String, _
                       ByVal sKey As String)
            Try
                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()
                DES.Key = ASCIIEncoding.ASCII.GetBytes(sKey)
    
                DES.IV = ASCIIEncoding.ASCII.GetBytes(sKey)
    
                Dim desencrypt As ICryptoTransform = DES.CreateEncryptor()
                Dim cryptostream As New CryptoStream(fsEncrypted, _
                                                    desencrypt, _
                                                    CryptoStreamMode.Write)
    
                Dim bytearrayinput(fsInput.Length - 1) As Byte
                fsInput.Read(bytearrayinput, 0, bytearrayinput.Length)
                cryptostream.Write(bytearrayinput, 0, bytearrayinput.Length)
                cryptostream.Close()
                fsInput.Close()
                fsInput.Dispose()
            Catch ex As Exception
                Throw New Exception(ex.Message, ex.InnerException)
            End Try
        End Sub
    
        Private Sub DecryptFile(ByVal sInputFilename As String, _
            ByVal sOutputFilename As String, _
            ByVal sKey As String)
            Try
                Dim DES As New DESCryptoServiceProvider()
                DES.Key() = ASCIIEncoding.ASCII.GetBytes(sKey)
                DES.IV = ASCIIEncoding.ASCII.GetBytes(sKey)
    
                Dim fsread As New FileStream(sInputFilename, FileMode.Open, FileAccess.Read)
                Dim desdecrypt As ICryptoTransform = DES.CreateDecryptor()
                Dim cryptostreamDecr As New CryptoStream(fsread, desdecrypt, CryptoStreamMode.Read)
                Dim fsDecrypted As New StreamWriter(sOutputFilename)
                fsDecrypted.Write(New StreamReader(cryptostreamDecr).ReadToEnd)
                fsDecrypted.Flush()
                fsDecrypted.Close()
                fsread.Close()
                fsread.Dispose()
            Catch ex As Exception
                Throw New Exception(ex.Message, ex.InnerException)
            End Try
        End Sub
    La Key chiaramente dovrai memorizzarla nel tuo codice ma se ti spiano pure quella???? Ma questi sono altri problemi....

  3. #3
    Be meglio la chiave in chiaro dentro il codice sorgente che in un file di testo visibile a tutti.. ti ringrazio, le tue funzioni mi sono state molto utili

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.