Encryptor will keine Dateien verschlüsseln.

  • VB.NET

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von LeoCWM.

    Encryptor will keine Dateien verschlüsseln.

    Hallo erst einmal an alle,
    habe erst neulich mal Lust gehabt einen simplen Dateienverschlüsseler in VB zu programmieren und bin dann an ein problem gestoßen.

    Also,
    ich habe eine Form mit einem tabControl und in beiden Tabs je eine Textbox und zwei Buttons, jehe ein "File Browse"-Button und ein Button fürs Verschlüsseln und Entschlüsseln.
    Habe den Code fertig geschrieben doch irgendwas funktioniert nicht da wenn ich beim Debuggen eine Datei auswähle und dann auf den Verschlüsselungsbutton klicke will das Programm nichts machen.
    Screenshots und Sourcecode sind eingebettet. Muss aber sagen dass ich nicht den ganzen Code selber geschrieben habe, da ich mich mit dem Thema Verschlüsselung noch nicht so hut auskenne. Habe selber Windows 10.

    Quellcode

    1. Imports System
    2. Imports System.IO
    3. Imports System.Text
    4. Imports System.Security
    5. Imports System.Security.Cryptography
    6. Imports System.Runtime.InteropServices
    7. Public Class Main Private Sub ButtonBrowseEnc_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonBrowseEnc.Click
    8. If OpenFileDialog.ShowDialog() = DialogResult.OK Then
    9. TxtEncrypt.Text = OpenFileDialog.FileName.ToString
    10. End If
    11. End Sub
    12. Public Sub nullerMemory(ByVal addr As IntPtr, ByVal size As Integer)
    13. End Sub
    14. Function GenerateKey() As String
    15. Dim desCrypto As DESCryptoServiceProvider = DESCryptoServiceProvider.Create()
    16. Return ASCIIEncoding.ASCII.GetString(desCrypto.Key)
    17. End Function
    18. Private Sub ButEncrypt_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButEncrypt.Click
    19. If TxtEncrypt.Text = "" Then
    20. Dim sSecretKey As String
    21. sSecretKey = GenerateKey()
    22. Dim gch As GCHandle = GCHandle.Alloc(sSecretKey, GCHandleType.Pinned)
    23. EncryptFile(TxtEncrypt.Text, _
    24. TxtEncrypt.Text + "_encrypted", _
    25. sSecretKey)
    26. nullerMemory(gch.AddrOfPinnedObject(), sSecretKey.Length * 2)
    27. gch.Free()
    28. End If
    29. End Sub
    30. Sub EncryptFile(ByVal sInputFilename As String, _
    31. ByVal sOutputFileName As String, _
    32. ByVal sKey As String)
    33. Dim fsInput As New FileStream(sInputFilename, _
    34. FileMode.Open, FileAccess.Read)
    35. Dim fsEncrypted As New FileStream(sOutputFileName, _
    36. FileMode.Create, FileAccess.Write)
    37. Dim DES As New DESCryptoServiceProvider()
    38. DES.Key = ASCIIEncoding.ASCII.GetBytes(sKey)
    39. DES.IV = ASCIIEncoding.ASCII.GetBytes(sKey)
    40. Dim desencrypt As ICryptoTransform = DES.CreateEncryptor()
    41. Dim cryptostream As New CryptoStream(fsEncrypted, _
    42. desencrypt, _
    43. CryptoStreamMode.Write)
    44. Dim bytearryInput(fsInput.Length - 1) As Byte
    45. fsInput.Read(bytearryInput, 0, bytearryInput.Length)
    46. cryptostream.Write(bytearryInput, 0, bytearryInput.Length)
    47. cryptostream.Close()
    48. End Sub
    49. End Class
    Bilder
    • form.png

      15,31 kB, 450×327, 58 mal angesehen

    VB.NET-Quellcode

    1. Private Sub ButEncrypt_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButEncrypt.Click
    2. If TxtEncrypt.Text = "" Then
    3. '...verschlüsselungszeug
    4. End If
    5. End Sub


    Du veschlüsselst nur, wenn in der Textbox nix steht. Deine if-Abfrage muss so lauten: If Not TxtEncrypt.Text = "" Then
    Twitch Viewer Display Chat-, Zuschauer- und Statistiktool für Streamer