zu 2Option Explicit On
Imports System.Security.Cryptography
Imports System.IO
Imports System.Text
''' <summary>
''' Diese Funktion dient zum Verschlüsseln des übergebenen Texts, anhand
' des übergebenen Passworts.
''' </summary>
''' <param name="curKey"></param>
''' <param name="curText"></param>
''' <returns></returns>
''' <remarks></remarks>
Public Function Rijndael_Verschluesseln(ByVal curKey As String, ByVal _
curText As String) As String
Dim Returntext As String = ""
Try
Dim rd As New RijndaelManaged
Dim md5 As New MD5CryptoServiceProvider
Dim key() As Byte = md5.ComputeHash(Encoding.UTF8.GetBytes(curKey))
md5.Clear()
rd.Key = key
rd.GenerateIV()
Dim iv() As Byte = rd.IV
Dim ms As New MemoryStream
ms.Write(iv, 0, iv.Length)
Dim cs As New CryptoStream(ms, rd.CreateEncryptor, _
CryptoStreamMode.Write)
Dim data() As Byte = System.Text.Encoding.UTF8.GetBytes(curText)
cs.Write(data, 0, data.Length)
cs.FlushFinalBlock()
Dim encdata() As Byte = ms.ToArray()
Returntext = Convert.ToBase64String(encdata)
cs.Close()
rd.Clear()
Catch ex As Exception
MSGBOX(ex.message)
End Try
Return Returntext
End Function
''' <summary>
''' Diese Funktion dient zum Entschlüsseln des übergebenen Texts, anhand
' des übergebenen Passworts.
''' </summary>
''' <param name="curKey"></param>
''' <param name="curText"></param>
''' <returns></returns>
''' <remarks></remarks>
Public Function Rijndael_Entschluesseln(ByVal curKey As String, ByVal _
curText As String) As String
Dim Returnstring As String = ""
Try
Dim rd As New RijndaelManaged
Dim rijndaelIvLength As Integer = 16
Dim md5 As New MD5CryptoServiceProvider
Dim key() As Byte = md5.ComputeHash(Encoding.UTF8.GetBytes(curKey))
md5.Clear()
Dim encdata() As Byte = Convert.FromBase64String(curText)
Dim ms As New MemoryStream(encdata)
Dim iv(15) As Byte
ms.Read(iv, 0, rijndaelIvLength)
rd.IV = iv
rd.Key = key
Dim cs As New CryptoStream(ms, rd.CreateDecryptor, _
CryptoStreamMode.Read)
Dim data(CType(ms.Length, Integer) - rijndaelIvLength) As Byte
Dim i As Integer = cs.Read(data, 0, data.Length)
Returnstring = System.Text.Encoding.UTF8.GetString(data, 0, i)
cs.Close()
rd.Clear()
Catch ex As Exception
MSGBOX(ex.message)
End Try
Return Returnstring
End Function |