关于VB.NET XML 加密(急)
Public Class Form2Private MyKey As New RijndaelManaged
Private MyXmlDoc As XmlDocument
Private Sub Button1_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click''''加密XML
MyXmlDoc.Load("MyXML.xml")
Dim MyEncryptElement = "ServerName"
If (MyXmlDoc Is Nothing) Then
Throw New ArgumentNullException("MyXmlDoc")
End If
If (MyEncryptElement Is Nothing) Then
Throw New ArgumentNullException("ElementToEncrypt")
End If
If (MyKey Is Nothing) Then
Throw New ArgumentNullException("MyKey")
End If
Dim MyEncrypt As XmlElement = CType(MyXmlDoc.GetElementsByTagName(MyEncryptElement)(0), XmlElement)
If (MyEncrypt Is Nothing) Then
Throw New XmlException("加密元素在XML文件中不存在!")
End If
Dim MyEncryptedXml As New EncryptedXml()
Dim MyXmlElement As Byte() = MyEncryptedXml.EncryptData(MyEncrypt, mykey, False)
Dim MyEncryptedData As New EncryptedData()
MyEncryptedData.Type = EncryptedXml.XmlEncElementUrl
Dim MyEncryptionMethod = ""
Select Case MyKey.KeySize
Case 128 '更多vb.net源码和实例,请关注{乐 博 网 lob.cn}
MyEncryptionMethod = EncryptedXml.XmlEncAES128Url
Case 192
MyEncryptionMethod = EncryptedXml.XmlEncAES192Url
Case 256
MyEncryptionMethod = EncryptedXml.XmlEncAES256Url
End Select
MyEncryptedData.EncryptionMethod = New EncryptionMethod(MyEncryptionMethod)
MyEncryptedData.CipherData.CipherValue = MyXmlElement
EncryptedXml.ReplaceElement(MyEncrypt, MyEncryptedData, False)
Me.TextBox1.Text = MyXmlDoc.InnerXml
MyXmlDoc.Save("MyXML.xml")
' MyXmlDoc.Save("MyEncryptXML.dat")
End Sub
Private Sub Button2_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click'''解密XML
'Dim MyReader As TextReader = New StringReader(Me.textBox1.Text)
'MyXmlDoc.Load(MyReader)
'MyReader.Close()
MyXmlDoc.Load("MyXML.xml")
If (MyXmlDoc Is Nothing) Then
Throw New ArgumentNullException("Doc")
End If
If (MyKey Is Nothing) Then
Throw New ArgumentNullException("Alg")
End If
Dim MyXmlElement As XmlElement = CType(MyXmlDoc.GetElementsByTagName("EncryptedData")(0), XmlElement)
If (MyXmlElement Is Nothing) Then
Throw New XmlException("没有找到EncryptedData加密元素!")
End If
Dim MyEncryptedData As New EncryptedData()
MyEncryptedData.LoadXml(MyXmlElement)
Dim MyEncryptedXml As New EncryptedXml()
Dim MyBytes As Byte() = MyEncryptedXml.DecryptData(MyEncryptedData, MyKey)
MyEncryptedXml.ReplaceData(MyXmlElement, MyBytes)
Me.TextBox1.Text = MyXmlDoc.InnerXml
MyXmlDoc.Save("MyXML.xml")
End Sub
End Class
请问为什么我运行程序时先进行加密,然后进行解密,都正常
为什么我加密过后,关闭程序再进行解密,就不行呢
--------------------编程问答-------------------- --------------------编程问答-------------------- 就没人知道吗 --------------------编程问答-------------------- 没做过。 --------------------编程问答-------------------- 就这么难吗,没人回么
补充:.NET技术 , VB.NET