vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Brandneu! sevEingabe v3.0 - Das Eingabecontrol der Superlative!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2026
 
zurück
Rubrik: Verschiedenes / Sonstiges   |   VB-Versionen: VB607.07.26
AES-256 Text u. Dateiverschlüsselung

AES-256 Text- und Dateiverschlüsselung mit Visual Basic 6 und der CRijndael.cls

Autor:   BT-SoftBewertung:     [ Jetzt bewerten ]Views:  116 
https://bt-soft.deSystem:  Win7, Win8, Win10, Win11 Beispielprojekt 

Zusammen mit ChatGPT und der etwas angestaubten CRijndael.cls entstand diese AES-256 Text- u. Dateiverschlüsselung. Die Passwortlänge ist in diesem Beispiel auf 30 Zeichen beschränkt.

Benötigt werden:

  • Eine Textbox: txtPasswort
  • Drei Textboxen mit Multiline: txtText, txtKodiert, txtDekodiert
  • Vier CommanButton: cmdDateiEncrypt, cmdKodieren, cmdDateiDecrypt, cmdDekodieren
  • Eine CheckBox: chkCRLF
  • Die CRijndael.cls aus dem Beispiel-Programm.
  • Eine beliebige Zip-Datei Namens: Zipfile.zip

Datei entschlüsseln

Private Sub cmdDateiDecrypt_Click()
  MsgBox "Die Datei 'Zipfile.aes' wird als 'Zipfile_neu.zip' entschlüsselt.", vbOKOnly, "Zipfile.zip entschlüsseln"
  Me.MousePointer = 11
  Call DecryptFile(App.Path & "Zipfile.aes", App.Path & "Zipfile_neu.zip", txtPasswort.Text)
  Me.MousePointer = 0
  MsgBox "Fertig! 'Zipfile.aes' als 'Zipfile_neu.zip' entschlüsselt.", vbOKOnly, "Zipfile.zip entschlüsseln"
End Sub

Datei verschlüsseln

Private Sub cmdDateiEncrypt_Click()
  MsgBox "Die Datei 'Zipfile.zip' wird als 'Zipfile.aes' verschlüsselt.", vbOKOnly, "Zipfile.zip verschlüsseln"
  Me.MousePointer = 11
  Call EncryptFile(App.Path & "Zipfile.zip", App.Path & "Zipfile.aes", txtPasswort.Text)
  Me.MousePointer = 0
  MsgBox "Fertig! 'Zipfile.zip' als 'Zipfile.aes' verschlüsselt.", vbOKOnly, "Zipfile.zip verschlüsseln"
End Sub

Die Function zur Datei-Verschlüsselung

Public Function EncryptFile(ByVal SrcFile As String, ByVal _
  DstFile As String, ByVal Passwort As String) As Boolean
 
  On Error GoTo Fehler
 
  Dim AES As New CRijndael
  Dim InData() As Byte
  Dim OutData() As Byte
  Dim Pwd() As Byte
  Dim FF As Integer
 
  FF = FreeFile
  Open SrcFile For Binary Access Read As #FF
  ReDim InData(LOF(FF) - 1)
  Get #FF, , InData
  Close #FF
 
  Pwd = Passwort
  OutData = AES.EncryptData(InData, Pwd)
 
  FF = FreeFile
  Open DstFile For Binary Access Write As #FF
  Put #FF, , OutData
  Close #FF
 
  EncryptFile = True
  Exit Function
 
Fehler:
  EncryptFile = False
End Function

Die Function zur Datei-Entschlüsselung

Public Function DecryptFile(ByVal SrcFile As String, _
  ByVal DstFile As String, ByVal Passwort As String) As Boolean
 
  On Error GoTo Fehler
 
  Dim AES As New CRijndael
  Dim InData() As Byte
  Dim OutData() As Byte
  Dim Pwd() As Byte
  Dim FF As Integer
 
  FF = FreeFile
  Open SrcFile For Binary Access Read As #FF
  ReDim InData(LOF(FF) - 1)
  Get #FF, , InData
  Close #FF
 
  Pwd = Passwort
  OutData = AES.DecryptData(InData, Pwd)
 
  FF = FreeFile
  Open DstFile For Binary Access Write As #FF
  Put #FF, , OutData
  Close #FF
 
  DecryptFile = True
  Exit Function
 
Fehler:
  DecryptFile = False
End Function

Text entschlüsseln

Private Sub cmdDekodieren_Click()
  On Error GoTo errmsg:
 
  Dim AES As New CRijndael
  Dim sa As String
 
  Me.MousePointer = 11
  If chkCRLF.Value = 1 Then
    sa = Replace(txtKodiert.Text, vbCrLf, "")
    sa = Replace(sa, vbCr, "")
    sa = Trim(Replace(sa, vbLf, ""))
    ' sicherheitsüberprüfung nach leerzeichen ob text verschlüsselt ist, 
    ' sonst kommt fehlermeldung
    If InStr(sa, " ") Then
      ' kein aes
    Else
      txtDekodiert.Text = AES.JustDécrypter(sa, txtPasswort.Text)
    End If
  Else
    ' sicherheitsüberprüfung nach leerzeichen ob text verschlüsselt ist, 
    ' sonst kommt fehlermeldung
    If InStr(sa, " ") Then
      ' kein aes
    Else
      txtDekodiert.Text = AES.JustDécrypter(txtKodiert.Text, txtPasswort.Text)
    End If
  End If
  Me.MousePointer = 0
  Exit Sub
 
errmsg:
  Me.MousePointer = 0
  txtDekodiert.Text = "Passwort falsch, oder Hexcode verändert."
End Sub

Text verschlüsseln

Private Sub cmdKodieren_Click()
  Dim AES As New CRijndael
 
  ' wenn kein text vorhanden, dann kommt eine fehlermeldung, 
  ' deshalb folgende sicherheitsabfrage:
  If txtKodiert.Text = "" Then
    txtKodiert.Text = "."
  End If
  Me.MousePointer = 11
  txtKodiert.Text = AES.JustCrypter(txtText.Text, txtPasswort.Text)
  Me.MousePointer = 0
End Sub

Dieser Tipp wurde bereits 116 mal aufgerufen.

Voriger Tipp   |   Zufälliger Tipp   |   Nächster Tipp

Über diesen Tipp im Forum diskutieren
Haben Sie Fragen oder Anregungen zu diesem Tipp, können Sie gerne mit anderen darüber in unserem Forum diskutieren.

Neue Diskussion eröffnen

nach obenzurück


Anzeige

Kauftipp Unser Dauerbrenner!Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv  Vol.6

Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
- nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten
- Symbol-Galerie mit mehr als 3.200 Icons im modernen Look
Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m.
 
   

Druckansicht Druckansicht Copyright ©2000-2026 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel