1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
|
Imports System
Imports System.IO
Imports System.Xml.Serialization
Imports System.Collections.Generic
Imports System.Security.Cryptography
Imports System.Text
Public Class XmlManager
Private Const myKey As String = "Password"
Public Shared Sub ObjectToXml(Of T)(ByVal objGen As T, ByVal FileName As String)
Dim fStream As FileStream = File.Open(FileName, FileMode.OpenOrCreate)
Dim DES As New DESCryptoServiceProvider()
DES.Key = ASCIIEncoding.ASCII.GetBytes(myKey)
DES.IV = ASCIIEncoding.ASCII.GetBytes(myKey)
Dim cStream As New CryptoStream(fStream, _
DES.CreateEncryptor(), _
CryptoStreamMode.Write)
Dim objStreamWriter As New StreamWriter(cStream)
Dim x As New XmlSerializer(objGen.GetType)
x.Serialize(objStreamWriter, objGen)
objStreamWriter.Close()
cStream.Close()
fStream.Close()
End Sub
Public Shared Function XmlToObject(Of T)(ByVal FileName As String, ByVal oType As Type) As T
Dim fStream As FileStream = File.OpenRead(FileName)
Dim DES As New DESCryptoServiceProvider()
DES.Key = ASCIIEncoding.ASCII.GetBytes(myKey)
DES.IV = ASCIIEncoding.ASCII.GetBytes(myKey)
Dim cStream As New CryptoStream(fStream, _
DES.CreateDecryptor(), _
CryptoStreamMode.Read)
Dim objGen As T
objGen = Activator.CreateInstance(oType)
Dim x As New XmlSerializer(oType)
objGen = x.Deserialize(cStream)
cStream.Close()
fStream.Close()
Return objGen
End Function
End Class |
Partager