Hej.
Wie vielleicht manche mitbekommen haben, probiere ich mich ja zur Zeit an einer Art Klassenbibliothek / Framework-Wrapper alias Væ. Problem ist nur, dass meine AES Decryption bei Byte-Arrays nicht so richtig will, wie ich will.
Code der Decryption-Funktion:
Aufgerufen wird das ganze im Beispiel so:
Jetzt wirft er mir bei der Entschlüsselung:
Das ganze gibts auch noch mal bei GitHub als Issue: github.com/vainamov/Vae/issues/4.
Praktisch für euch, weil ihr dann, wenn ihr wollt, einfach nur nen Pull-Request machen müsst.
Wenn ich übrigens vor dem
Grüße
Väinämö
Wie vielleicht manche mitbekommen haben, probiere ich mich ja zur Zeit an einer Art Klassenbibliothek / Framework-Wrapper alias Væ. Problem ist nur, dass meine AES Decryption bei Byte-Arrays nicht so richtig will, wie ich will.
Code der Decryption-Funktion:
VB.NET-Quellcode
- ''' <summary>
- ''' Entschlüsselt ein Byte-Array mit Aes.
- ''' </summary>
- ''' <param name="Data">Zu entschlüsselndes Byte-Array.</param>
- ''' <returns></returns>
- Public Function Decrypt(ByVal Data As Byte()) As Byte()
- Dim AesCryptoTransform As ICryptoTransform = ServiceProvider.CreateDecryptor()
- Dim tReturn As Byte()
- Using MS As New MemoryStream(Data)
- Using CS As New CryptoStream(MS, AesCryptoTransform, CryptoStreamMode.Read)
- Using SR As New StreamReader(CS)
- tReturn = Text.Encoding.UTF8.GetBytes(SR.ReadToEnd)
- End Using
- End Using
- End Using
- Return tReturn
- End Function
Aufgerufen wird das ganze im Beispiel so:
VB.NET-Quellcode
- Dim Original As Byte() = Text.Encoding.UTF8.GetBytes("FESTIVAL")
- Dim ServiceProvider As New Vae.AESServiceProvider()
- Dim Encrypted As Byte() = ServiceProvider.Encrypt(Original)
- Dim Decrypted As Byte() = ServiceProvider.Decrypt(Encrypted)
- Dim Output As String = Text.Encoding.UTF8.GetString(Decrypted)
Jetzt wirft er mir bei der Entschlüsselung:
Das ganze gibts auch noch mal bei GitHub als Issue: github.com/vainamov/Vae/issues/4.
Praktisch für euch, weil ihr dann, wenn ihr wollt, einfach nur nen Pull-Request machen müsst.
Wenn ich übrigens vor dem
Using SR As New StreamReader(CS)
ein CS.FlushFinalBlock()
reinhaue (wurde manchmal im Web vorgeschlagen), gibt die Funktion exceptionlos ein leeres Byte-Array zurück.Grüße
Väinämö