PHPサーバーから暗号化されたXMLファイルを読み取るVb.Netアプリケーションを作成しています。私はここで見つかったコードスニペットを使用しています:復号化された文字列からのXML文書の解析
PHP Encryption & VB.net Decryption
特にリチャードVarnoの答えとコードを。 PHPサーバー上の元のXMLファイルとVB.Net上の暗号化されたバージョンを比較することができ、それらは同じです。
問題は、復号化されたバージョンをVb.NetのXMLドキュメントに読み込むと、空のドキュメントが表示されるだけです。
PHPサーバーから暗号化されていないバージョンを読み込むと問題ありません。私は暗号化されていないし、暗号化されていない以外は、2つの間に明白な違いはありません。どちらも文字列で、両方ともGzipされているので、なぜこれはうまくいかないでしょうか?ここで
は暗号化されていない文字列を読み込むために私のコードです:今
Dim request As System.Net.HttpWebRequest = System.Net.HttpWebRequest.Create(lookupUrl)
' Tell the server that we want it compressed
request.AutomaticDecompression = DecompressionMethods.GZip
request.Timeout = 3000 ' Set 3 second timeout
' Parse the contents from the response to a stream object
stream = response.GetResponseStream()
' Create a reader for the stream object
Dim reader As New StreamReader(stream)
' Read from the stream object using the reader, put the encrypted contents in a string
Dim contents As String = reader.ReadToEnd()
' Put de-encrypted contents into another string
Dim decrypted As String = ""
' Create a new, empty XML document
Dim document As New System.Xml.XmlDocument()
Console.WriteLine("Received: " & contents)
' De-encrypt the data from the response from the server
decrypted = DecryptRJ256(Globals.sKy, Globals.sIV, contents)
Console.WriteLine("Decrypted: " & decrypted)
' Load the contents into the XML document
document.LoadXml(contents)
Dim nodes As XmlNodeList = document.DocumentElement.SelectNodes("//results/Node1")
上記の作品を私はして
document.LoadXml(contents)
を交換する場合:
document.LoadXml(decrypted)
私のXMLドキュメントは空です。
この情報に基づいて、あなたのxmlが実際には暗号化されていないと推測する必要があります。 '' Received: "&contents)'と書いた出力は何ですか? – Crowcoder
暗号化されています。 l4QiwAAs9m/ZEetl4fsXTvBC2Y/PFtI4WEteGADcHlGHcqlr5C5N5AuVAv97bWvAqVAvLBWVDMXg6dDMNJAdDZg95soIZ/hAVkYGV4IvQHZo2emg + TVz160p6ZiW26mL3uvZOTuT722CbECIm3y4u /そしてそれは私に、サーバが生成したXMLを与える解読:それはコメントのためにあまりにも長いですが、それが起動するように私はそれをすべてを投稿することはできません。 –
私は 'DecryptRJ256'に慣れていません。 'LoadXml(contents)'が動作する唯一の方法である3番目のパラメータ( 'contents')を変更する必要があります。 'DecryptRJ256'の戻り値は何ですか? – Crowcoder