0
我們正在嘗試對一個xml文件進行哈希處理,我已經使它散列了XML的內容。 對此我用下面的代碼:C#哈希完整xml
XmlDocument doc = new XmlDocument();
doc.PreserveWhitespace = true;
doc.Load(txtFile.Text);
XmlNodeList list = doc.GetElementsByTagName("Document");
XmlElement node = (XmlElement)list[0];
//node.SetAttribute("xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance");
string s = node.OuterXml;
using (MemoryStream msIn = new MemoryStream(Encoding.UTF8.GetBytes(s)))
{
XmlDsigC14NTransform t = new XmlDsigC14NTransform(true);
t.LoadInput(msIn);
using (var hash = new SHA256Managed())
{
byte[] digest = t.GetDigestedOutput(hash);
txtHash.Text = BitConverter.ToString(digest).Replace("-", String.Empty);
}
}
然而,這只是散列XML的內容。 我需要的是哈希完整的XML而不是僅僅內容。
如果我們只散列內容,我們的散列不會與我們得到的控件進行比較。
你的意思一樣,打開文件,並沒有將其讀入的XmlDocument的實例哈希的內容? – Matten