2010-05-21 69 views
0

我的应用程序的Windows窗体.NET在Windows XP中复制共享的网络文件夹中的文件的PDF文件中的服务器在Win2003的Windows 2003上与共享文件夹在检查文件拷贝大文件md5hash性能

管理员用户检测到某些损坏的文件PDF文件,在该共享文件夹中。

我要检查,如果fileis共享文件夹中复制权

安德烈Krijen说我最好的方法是创建原始文件的MD5Hash。复制文件时,请使用原始文件验证复制文件的MD5Hash文件。

我有大的pdf文件。

应用md5哈希关于大文件,任何性能问题?

如果我只检查(不生成md5散列)文件的长度(原始和复制)?

+0

你是说你有性能问题,或者你想知道你是否会遇到性能问题?你的文件有多大?你有没有做过任何测试? – luke 2010-05-21 15:08:42

回答

1

您可以检查文件的长度以快速确定它们是否不同,但长度相同并不表示文件的内容是相同的。

要真正确定文件是否相同,您必须比较文件中的每个字节。要再次发送文件来比较它们当然是不现实的,但发送文件的MD5哈希值是。

如果你想比较文件,你必须阅读整个文件,这是没有办法解决的。 MD5哈希至少为您节省了大量网络流量。

1

我认为MD5检查应该是在服务器上运行的一个单独的应用程序,以便您的应用程序不必打开共享文件夹上的副本来检查MD5。

+0

有许多客户端,App Winforms winxp,可以在服务器2003(网络中的共享文件夹)中复制文件。服务器中的Windows服务读取文件。对于检查MD5我需要原始文件和复制文件,因此我需要检查后面的复制文件。谢谢。 – Kiquenet 2010-05-21 15:18:57

3

在每台服务器上安装一个MD5检查器,并使其成为本地进程,因此您不必使用带宽来重新检查哈希。

您可以使用MD5sums作为命令行选项或创建您自己的工作应用程序。

+0

有很多客户端,App Winforms winxp,可以在服务器win2003(网络中的共享文件夹)中复制文件。服务器中的Windows服务读取要插入数据库的文件。对于检查MD5我需要原始文件和复制文件,因此我需要检查后面的复制文件。谢谢 – Kiquenet 2010-05-21 15:20:29