C# 计算闪存驱动器的校验和';内容

C# 计算闪存驱动器的校验和';内容,c#,c++,c,C#,C++,C,我正在寻找一种计算整个闪存驱动器内容校验和的好方法 不是一个特定的文件或一组文件,而是整个卷,它是只读的,因此不会更改 有没有人知道任何C、C++或C代码能打开闪存驱动器的容量,并有效地读取字节,这样我就可以把这个输入为MD5或Sh1哈希算法?< /P> 我现在看到很多读取文件的代码,但我希望从头到尾读取整个物理驱动器 也许可以查看OpenSSL中的源代码和函数。您可以使用操作系统级的文件API打开整个卷(C#建议使用Windows,其中函数为CreateFile) 不过,您可能应该首先卸载文件

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

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

有没有人知道任何C、C++或C代码能打开闪存驱动器的容量,并有效地读取字节,这样我就可以把这个输入为MD5或Sh1哈希算法?< /P>


我现在看到很多读取文件的代码,但我希望从头到尾读取整个物理驱动器

也许可以查看OpenSSL中的源代码和函数。

您可以使用操作系统级的文件API打开整个卷(C#建议使用Windows,其中函数为
CreateFile


不过,您可能应该首先卸载文件系统,以免其他进程在使用数据时更改数据。此外,整个卷的校验和也不太可能有用,因为每当“上次访问时间”字段更新时,校验和都会更改。

这可能不是一个好主意。闪存的使用寿命有限(就读/写次数而言);您不想频繁地执行这种繁重的IO操作。你想达到什么目的?@ashes999:只有写才能使用闪存。潜在的读取次数实际上是无限的。@BenVoigt你确定吗?我想我错了;很高兴知道。有什么特别的原因使你没有发现原来问题的答案有用吗?可能重复的