vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Erstellen von dynamischen Kontextmen?s - wann immer Sie sie brauchen!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
RijndaelManaged 
Autor: Timmy the Turtle
Datum: 02.12.08 21:10

Hallo, ich habe folgende Klasse geschrieben:

Imports System
Imports System.IO
Imports System.Text
Imports System.Security.Cryptography
 
Public Class AESCrypt
 
    Public Function EncryptString(ByVal Klartext As String) As String
        ' Erzeugen einer neuen RijndaelManaged-Instanz samt Schlüssel und IV
        Dim AESEncrypt As New RijndaelManaged
 
        ' Erzeugen des Verschlüsslers 
        Dim Encryptor As ICryptoTransform = AESEncrypt.CreateEncryptor( _
          AESEncrypt.Key,  AESEncrypt.IV)
 
        ' Wandelt einen String in ein ByteArray um  
        Dim Converter As New ASCIIEncoding
 
        ' Verschlüsselt den Klartext und weist ihm ein ByteArray zu
        Dim CryptS As Byte() = Encryptor.TransformFinalBlock(Converter.GetBytes( _
          Klartext), 0, Klartext.Length)
 
        Return Converter.GetString(AESEncrypt.Key) & Converter.GetString( _
          AESEncrypt.IV) & Converter.GetString(CryptS)
    End Function
 
    Public Function DecryptString(ByVal CryptString As String) As String
        ' Wandelt Strings in ein beliebiges Format um
        Dim Converter As New ASCIIEncoding
 
        ' Die im String entahltenen Verschlüsselung Keys auslesen und entfernen
        Dim Key As Byte() = Converter.GetBytes(CryptString.Substring(0, 32))
        Dim IV As Byte() = Converter.GetBytes(CryptString.Substring(32, 16))
        CryptString = CryptString.Remove(0, 48)
 
        ' Erzeugen einer neuen RijndaelManaged-Instanz samt Schlüssel und IV
        Dim AESEncrypt As New RijndaelManaged
 
        ' Entschlüsseln des Strings
        Dim Decryptor As ICryptoTransform = AESEncrypt.CreateDecryptor(Key, IV)
        Dim Klartext As Byte() = Decryptor.TransformFinalBlock( _
          Converter.GetBytes(CryptString), 0, CryptString.Length)
 
        Return Converter.GetString(Klartext)
    End Function
End Class
So teste ich die Klasse:
    Sub Main()
        Dim AES As New AESCrypt
        Dim CryptS As String = AES.EncryptString("TEST")
        MsgBox(AES.DecryptString(CryptS))
    End Sub
Jetzt tritt immer folgendes Problem auf. Beim entschlüsseln eines Verschlüsselten Strings wirft meine IDE immer folgende Exception

[(Dim Klartext As Byte() = Decryptor.TransformFinalBlock(Converter.GetBytes(CryptString), 0, CryptString.Length)]:

Zeichenabstände sind ungültig und können nicht entfernt werden

Hab schon eine menge rumprobiert aber keine Lösung gefunden. Vielleicht weiß jemand von euch weiter!

MfG, TtT
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
RijndaelManaged1.452Timmy the Turtle02.12.08 21:10
Re: RijndaelManaged1.040ModeratorDaveS02.12.08 21:46
Re: RijndaelManaged960Timmy the Turtle02.12.08 21:57

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 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