如何检查两个docx文件是否相同?

时间:2017-05-13 13:28:43

标签: c# docx

        public static string GetMD5HashFromFile(string fileName)
        {
            using(var md5 = MD5.Create())
            {
                try
                {
                    using(var stream = File.OpenRead(fileName))
                    {
                        byte[] HashArray;
                        StringBuilder sb = new StringBuilder(256);
                        int i = 0;
                        sb.Append("0x");

                        HashArray = md5.ComputeHash(stream);

                        for(i = 0; i < HashArray.Length; i++)
                        {
                            sb = sb.Append(String.Format("{0:X2}", HashArray[i]));
                        }
                        return sb.ToString();
                    }
                }
                catch(Exception)
                {
                    return null;
                }
            }
        }

我想使用上面的GetMD5HashFromFile函数来获取文件的哈希值,并检查它们是否相同。

我创建1.docx文件,并保存为2.docx,我发现这两个文件的哈希值不相同。我不知道为什么,有人可以问我为什么或给我一个提示来解决我的问题。

1 个答案:

答案 0 :(得分:0)

但是你的提示并没有解决问题。 至少我知道它是一个zip文件,并解压缩它,我得到document.xml,我发现不同,位置是不同的。 different between two xml

我写了一些代码:

.ejs

但我认为这不是一个好主意,因为XML可以判断它是否相同。