Hallo ich habe folgendes problem undzwar möchte ich gerne einen String verschlüsseln und anschließend wieder entschlüsseln, dass funktioniert soweit auch ganz gut nur wenn der string zu lang wird geht es nicht mehr.
hier meine funktionen zum verschlüsseln & entschlüsseln
es kommt denn immer der Fehler " Die Länge der zu entschlüsselnden Daten ist ungültig. "
Bei kürzeren Text so > 3000 - 5000 zeichen geht es.
hier meine funktionen zum verschlüsseln & entschlüsseln
Code:
Private Function encryptmessage(ByVal message As String) As String
Dim rd As New RijndaelManaged
Dim md5 As New MD5CryptoServiceProvider
Dim key() As Byte = md5.ComputeHash(Encoding.UTF8.GetBytes("**********"))
md5.Clear()
rd.Key = key
rd.GenerateIV()
Dim iv() As Byte = rd.IV
Dim ms As New MemoryStream
Dim cs As New CryptoStream(ms, rd.CreateEncryptor, CryptoStreamMode.Write)
Dim data() As Byte = System.Text.Encoding.UTF8.GetBytes(message)
cs.Write(data, 0, data.Length)
cs.FlushFinalBlock()
Dim encdata() As Byte = ms.ToArray
cs.Close()
rd.Clear()
Return Convert.ToBase64String(encdata)
End Function
Code:
Private Function decryptmessage(ByVal incommingmessage As String) As String
Dim rd As New RijndaelManaged
Dim RijndaelovLength As Integer = 16
Dim md5 As New MD5CryptoServiceProvider
Dim key() As Byte = md5.ComputeHash(Encoding.UTF8.GetBytes("****************"))
md5.Clear()
Dim encdata() As Byte = Convert.FromBase64String(incommingmessage)
Dim ms As New MemoryStream(encdata)
Dim iv(15) As Byte
ms.Read(iv, 0, RijndaelovLength)
rd.IV = iv
rd.Key = key
Dim cs As New CryptoStream(ms, rd.CreateDecryptor, CryptoStreamMode.Read)
Dim data(ms.Length - RijndaelovLength) As Byte
Dim i As Integer = cs.Read(data, 0, data.Length)
Return System.Text.Encoding.UTF8.GetString(data, 0, i)
End Function
es kommt denn immer der Fehler " Die Länge der zu entschlüsselnden Daten ist ungültig. "
Bei kürzeren Text so > 3000 - 5000 zeichen geht es.