| |

VB.NET - FortgeschritteneRe: ds.writexml+Verschlüsselung | |  | Autor: Morgoth | Datum: 24.01.06 17:54 |
| Komisch, ich haben deinen Code getestet, und abgesehen von .Close() an falscher Stelle läuft das einwandfrei.
Hier ist mein Testcode
Private Mitarbeiter As New Data.DataSet
Private MitarbeiterTable As New DataTable("Mitarbeiter")
Sub key_erstellen()
Dim rij As Rijndael = Rijndael.Create
Dim regRoot As Microsoft.Win32.RegistryKey = _
Microsoft.Win32.Registry.CurrentUser
Dim regSubKey As Microsoft.Win32.RegistryKey = regRoot.CreateSubKey( _
"Software\test")
Dim regkey As Microsoft.Win32.RegistryKey = _
Microsoft.Win32.Registry.CurrentUser.OpenSubKey("Software\test", True)
Dim bytes() As Byte = regkey.GetValue("DATA2")
If bytes Is Nothing Then
'ist data2 Key vorhanden.ansonsten erstellen
Dim data2 As Byte()
Dim data3 As Byte()
rij.CreateDecryptor(rij.Key, rij.IV)
data2 = rij.Key
data3 = rij.IV
regSubKey.SetValue("DATA2", data2)
regSubKey.SetValue("DATA3", data3)
regRoot.Close()
regSubKey.Close()
End If
End Sub
Sub speichern()
Dim rij As System.Security.Cryptography.Rijndael = _
System.Security.Cryptography.Rijndael.Create()
Dim regRoot As Microsoft.Win32.RegistryKey = _
Microsoft.Win32.Registry.CurrentUser
Dim regSubKey As Microsoft.Win32.RegistryKey = regRoot.CreateSubKey( _
"Software\test")
Dim regkey As Microsoft.Win32.RegistryKey = _
Microsoft.Win32.Registry.CurrentUser.OpenSubKey("Software\test", True)
Dim bytes() As Byte = (regkey.GetValue("DATA2"))
Dim bytes1() As Byte = (regkey.GetValue("DATA3"))
Mitarbeiter.Tables.Clear()
Mitarbeiter.Tables.Add(MitarbeiterTable)
Debug.WriteLine(Application.StartupPath & "\data.xml")
Dim fs As New IO.FileStream(Application.StartupPath & "\data.xml", _
IO.FileMode.Create)
Dim cs As New System.Security.Cryptography.CryptoStream(fs, _
rij.CreateEncryptor(bytes, bytes1), _
System.Security.Cryptography.CryptoStreamMode.Write)
Mitarbeiter.WriteXml((cs), XmlReadMode.DiffGram)
cs.Close()
fs.Close()
End Sub
Sub Laden()
Dim rij As Rijndael = Rijndael.Create
Dim regkey As Microsoft.Win32.RegistryKey = _
Microsoft.Win32.Registry.CurrentUser.OpenSubKey("Software\test", True)
Dim bytes() As Byte = (regkey.GetValue("DATA2"))
Dim bytes1() As Byte = (regkey.GetValue("DATA3"))
Dim fs As IO.FileStream
Dim cs As CryptoStream
Try
fs = New IO.FileStream(Application.StartupPath & "\data.xml", _
IO.FileMode.Open)
cs = New System.Security.Cryptography.CryptoStream(fs, _
rij.CreateDecryptor(bytes, bytes1), _
System.Security.Cryptography.CryptoStreamMode.Read)
Dim sr As New IO.StreamReader(cs)
Mitarbeiter.ReadXml(cs)
cs.Close()
fs.Close()
Catch ex As Exception
MsgBox(ex.ToString)
End Try
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As _
System.EventArgs) Handles MyBase.Load
MitarbeiterTable.Columns.Add("col1")
MitarbeiterTable.Columns.Add("col2")
Dim dr As DataRow = MitarbeiterTable.NewRow()
dr("col1") = "data1"
dr("col2") = "data2"
MitarbeiterTable.Rows.Add(dr)
dr = MitarbeiterTable.NewRow()
dr("col1") = "data3"
dr("col2") = "data4"
MitarbeiterTable.Rows.Add(dr)
key_erstellen()
speichern()
Mitarbeiter = New Data.DataSet
Laden()
DataGridView1.DataSource = Mitarbeiter.Tables("Mitarbeiter")
End Sub |  |
 | 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 |
  |
|
Neu! sevEingabe 3.0 
Einfach stark!
Ein einziges Eingabe-Control für alle benötigten Eingabetypen und -formate, inkl. Kalender-, Taschenrechner und Floskelfunktion, mehrspaltige ComboBox mit DB-Anbindung, ImageComboBox u.v.m. Weitere InfosTipp des Monats Access-Tools Vol.1 
Über 400 MByte Inhalt
Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB
Nur 24,95 EURWeitere Infos
|
|
|
Copyright ©2000-2025 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
|
|