计算闪存驱动器内容的校验和

时间:2012-02-23 21:22:28

标签: c# c++ c

我正在寻找一种计算整个闪存驱动器内容校验和的好方法。

不是特定文件或一组文件,而是整个读取的卷,因此它永远不会更改。

有没有人知道任何C,C ++或C#代码可以打开闪存驱动器卷并有效地读取字节,因此我可以将其提供给MD5或SHA1哈希算法?

我现在看到很多代码来读取文件,但我想从头到尾阅读整个物理驱动器。

2 个答案:

答案 0 :(得分:2)

您可以使用操作系统级文件API打开整个卷(C#建议使用Windows,其功能为CreateFile)。

您可能应该首先卸载文件系统,但是,以免其他一些进程在您使用它时更改您的数据。此外,整个卷的校验和可能不太有用,因为只要“上次访问时间”字段更新,它就会发生变化。

答案 1 :(得分:0)

或许查看OpenSSL中ddSHA-1函数的源代码。