+ Rispondi al Thread
Visualizzazione dei risultati da 1 a 6 su 6

Discussione: Cancellare file di testo dopo averlo criptato

  1. #1
    Francesco53 non è in linea Scolaretto
    Post
    186

    Cancellare file di testo dopo averlo criptato

    Buongiorno a tutti, sto cercando di criptare un file di testo e poi vorrei eliminare lo stesso dopo averlo criptato,
    però mi va in errore in quanto il file di testo risulta ancora in uso. Utilizzo il seguente codice:

    codice:
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
            '----- Cripta File -------------
            Dim percorso As String = Directory.GetCurrentDirectory()
            Dim nomeFileA As String = "\Testo.txt"
            Dim nomeFileB As String = "\Testo.dat"
            CriptaFile((percorso & nomeFileA), (percorso & nomeFileB), sSecretKey)
            My.Computer.FileSystem.DeleteFile(percorso & nomeFileA)
        End Sub
    Chiedo cortesemente se potete indicarmi dove sbaglio, grazie
    Francesco

  2. #2
    L'avatar di AntonioG
    AntonioG non è in linea Moderatore Globale Ultimo blog: Commodore 64 e Codemotion
    Luogo
    Roma
    Post
    16,808
    Blogs
    5
    Senza conoscere il codice di CriptaFile è impossibile risponderti, non credi?
    Ultima modifica di AntonioG; 13-02-2020 12:44 
    Avvisi generali e importanti, a pena CHIUSURA thread e/o BAN
    Il crossposting è vietato.
    Le richieste di "pappa pronta" sono vietate.
    Utilizzate i tag CODE per il codice.
    Leggere il Regolamento per chiarimenti PRIMA di creare nuovi thread.
    Utilizzare sempre i PM per comunicare con i moderatori.
    Non mi contattate in PM per problemi di software, usate il forum

  3. #3
    patel45 non è in linea Scolaretto Ultimo blog: recupero dati da pagina html
    Post
    442
    Blogs
    1
    la sub criptafile chiude il file dopo averlo letto ? è quella che avresti dovuto mostrare.

  4. #4
    Francesco53 non è in linea Scolaretto
    Post
    186
    Chiedo scusa per l'incompletezza di quanto postato e provvedo al completamento:

    codice:
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
            '----- Cripta File -------------
            Dim percorso As String = Directory.GetCurrentDirectory()
            Dim nomeFileA As String = "\Testo.txt"
            Dim nomeFileB As String = "\Testo.dat"
            CriptaFile((percorso & nomeFileA), (percorso & nomeFileB), sSecretKey)
            'My.Computer.FileSystem.DeleteFile(percorso & nomeFileA)
        End Sub
        Sub CriptaFile(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()
            DES.Key = ASCIIEncoding.ASCII.GetBytes(sKey)
            DES.IV = ASCIIEncoding.ASCII.GetBytes(sKey)
            Dim desencrypt As ICryptoTransform = DES.CreateEncryptor(DES.Key, DES.IV)
            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.Flush()
            cryptostream.Close()
            MsgBox("Terminato!")
        End Sub
    La stringa per il criptaggio è dichiarata dal seguente codice:
    Dim sSecretKey As String

    Francesco
    Ultima modifica di Francesco53; 13-02-2020 13:45 

  5. #5
    L'avatar di AntonioG
    AntonioG non è in linea Moderatore Globale Ultimo blog: Commodore 64 e Codemotion
    Luogo
    Roma
    Post
    16,808
    Blogs
    5
    Ovviamente manca una

    fsInput.Close()

    e se il file non è chiuso, come lo elimini?

    E fra l'altro manca anche una

    fsEncrypted.Close()
    Avvisi generali e importanti, a pena CHIUSURA thread e/o BAN
    Il crossposting è vietato.
    Le richieste di "pappa pronta" sono vietate.
    Utilizzate i tag CODE per il codice.
    Leggere il Regolamento per chiarimenti PRIMA di creare nuovi thread.
    Utilizzare sempre i PM per comunicare con i moderatori.
    Non mi contattate in PM per problemi di software, usate il forum

  6. #6
    Francesco53 non è in linea Scolaretto
    Post
    186
    Grazie Antonio,
    Francesco

+ Rispondi al Thread

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi