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.
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
- Imports System
- Imports System.IO
- Imports System.Text
- Imports System.Security
- Imports System.Security.Cryptography
- Imports System.Runtime.InteropServices
- Public Class Main Private Sub ButtonBrowseEnc_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonBrowseEnc.Click
- If OpenFileDialog.ShowDialog() = DialogResult.OK Then
- TxtEncrypt.Text = OpenFileDialog.FileName.ToString
- End If
- End Sub
- Public Sub nullerMemory(ByVal addr As IntPtr, ByVal size As Integer)
- End Sub
- Function GenerateKey() As String
- Dim desCrypto As DESCryptoServiceProvider = DESCryptoServiceProvider.Create()
- Return ASCIIEncoding.ASCII.GetString(desCrypto.Key)
- End Function
- Private Sub ButEncrypt_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButEncrypt.Click
- If TxtEncrypt.Text = "" Then
- Dim sSecretKey As String
- sSecretKey = GenerateKey()
- Dim gch As GCHandle = GCHandle.Alloc(sSecretKey, GCHandleType.Pinned)
- EncryptFile(TxtEncrypt.Text, _
- TxtEncrypt.Text + "_encrypted", _
- sSecretKey)
- nullerMemory(gch.AddrOfPinnedObject(), sSecretKey.Length * 2)
- gch.Free()
- End If
- 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()
- 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 bytearryInput(fsInput.Length - 1) As Byte
- fsInput.Read(bytearryInput, 0, bytearryInput.Length)
- cryptostream.Write(bytearryInput, 0, bytearryInput.Length)
- cryptostream.Close()
- End Sub
- End Class