Ich habs noch nicht probiert, doch mit dieser Funktion glaube ich das es geht (ich hoffe zumindest)
Imports System
Imports System.Xml
Imports System.IO
Imports System.Security.Cryptography
Imports System.Windows
Imports System.Windows.Forms
Public Class SymmetricExample
Private key As Byte() = {11, 2, 7, 24, 16, 22, 4, 38, 27, 3, 11, 10, 17, _
15, 6, 23}
Private iv As Byte() = {1, 2, 3, 4, 5, 6, 17, 8, 9, 10, 11, 12, 13, 14, 15, _
16}
Private cryptoprovider As RijndaelManaged = New RijndaelManaged()
Private filename As String = "c:\SymmetricExample.xml"
Public Server As String = "(local)"
Public Database As String = "Northwind"
Public User As String = "sa"
Public Password As String = ""
Public Provider As String = "SQLOLEDB"
Public Sub Decrypt()
If Not File.Exists(filename) Then
Me.Encrypt()
End If
Try
Dim FileReader As FileStream = New FileStream(filename, _
FileMode.Open)
Dim CryptoReader As CryptoStream = New CryptoStream(FileReader, _
cryptoprovider.CreateDecryptor(key, iv), CryptoStreamMode.Read)
Dim XmlReader As XmlTextReader = New XmlTextReader(CryptoReader)
Dim XmlDoc As XmlDocument = New XmlDocument()
Dim XPath As String = "/Configuration/Data/"
XmlDoc.Load(XmlReader)
XmlReader.Close()
CryptoReader.Close()
FileReader.Close()
Me.Server = XmlDoc.SelectSingleNode(XPath & "Server").InnerText
Me.Database = XmlDoc.SelectSingleNode(XPath & "Database").InnerText
Me.User = XmlDoc.SelectSingleNode(XPath & "User").InnerText
Me.Password = XmlDoc.SelectSingleNode(XPath & "Password").InnerText
Me.Provider = XmlDoc.SelectSingleNode(XPath & "Provider").InnerText
Catch e As CryptographicException
Me.Server = ""
Me.Database = ""
Me.Provider = ""
Me.User = ""
Me.Password = ""
MessageBox.Show("Invalid encryption key!\nDetails: " + e.Message, _
"Cryptography Example", _
MessageBoxButtons.OK, MessageBoxIcon.Error)
Catch e As ArgumentException
Me.Server = ""
Me.Database = ""
Me.Provider = ""
Me.User = ""
Me.Password = ""
MessageBox.Show("Invalid encryption key!\nDetails: " + e.Message, _
"Cryptography Example", _
MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
End Sub
Public Sub Encrypt()
Dim FileWriter As FileStream = New FileStream(filename, FileMode.Create)
Dim CryptoWriter As CryptoStream = New CryptoStream(FileWriter, _
cryptoprovider.CreateEncryptor(key, iv), CryptoStreamMode.Write)
Dim XmlWriter As XmlTextWriter = New XmlTextWriter(CryptoWriter, _
System.Text.Encoding.UTF8)
XmlWriter.WriteStartDocument()
XmlWriter.WriteStartElement("Configuration")
XmlWriter.WriteStartElement("Data")
XmlWriter.WriteElementString("Server", Me.Server)
XmlWriter.WriteElementString("Database", Me.Database)
XmlWriter.WriteElementString("User", Me.User)
XmlWriter.WriteElementString("Password", Me.Password)
XmlWriter.WriteElementString("Provider", Me.Provider)
XmlWriter.WriteEndElement()
XmlWriter.WriteEndElement()
XmlWriter.WriteEndDocument()
XmlWriter.Close()
CryptoWriter.Close()
FileWriter.Close()
End Sub
End Class Oder ist diese Funktion nur zum Verschlüsseln von Passwörtern?
mfg stefan |