为什么打开MS Excel文件更改文档的SHA哈希值?

我想validation一个Excel文档的内容没有被改变。 我正在考虑使用SHA哈希来做到这一点。 但是,只是打开Excel文档的过程会更改文件的SHA哈希值。

什么是Excel 2011在文件中更改? 有什么办法可以防止这种情况发生?

我刚刚testing过这个很快,如果你把文件设置为只读,它可以做或多或less你想要的。

Create spreadsheet, save, set as read-only Generate SHA-1 hash -> hash1 Open spreadsheet, edit, attempt save, receive warning about read-only copy, abort save, close without saving Generate SHA-1 hash -> hash1 (ie same hash as before) Turn off read-only flag, open, edit, save, undo edit, save, close Generate SHA-1 hash -> hash2 (ie different hash from before) 

因此,如果您将该文件标记为只读,则应该允许用户查看该文件而不影响哈希。 如果他们closures只读标志并将其打开,即使它们不作任何更改,哈希值也会改变。

Interesting Posts