2012-02-23 9 views
0

私はフラッシュドライブの内容全体のチェックサムを計算する良い方法を探しています。フラッシュドライブの内容のチェックサムを計算する

特定のファイルまたはファイルのグループではなく、ボリューム全体が読み取り専用で変更されない。

フラッシュドライブボリュームを開き、バイトを効率的に読み取ることができるC、C++、またはC#コードを知っている人はいますか?私はこれをMD5またはSHA1ハッシュアルゴリズムと言い換えることができますか?

ファイルを読むためのコードがたくさんありますが、最初から最後まで物理ドライブ全体を読みたいと思います。

+1

これはおそらく良い考えではありません。フラッシュメモリの寿命は限られています(読み取り/書き込み回数)。このような頻繁なIO操作を頻繁にやりたくはありません。あなたは何を達成しようとしていますか? – ashes999

+1

@ ashes999:書き込みはフラッシュメモリのみを使用します。潜在的な読み取り回数は事実上無制限です。 –

+0

@BenVoigtあなたは本当ですか?私は間違っていると思う。それは知って良いです。 – ashes999

答えて

0

おそらくOpenSSLのddSHA-1のソースコードを見てください。

2

OSレベルのファイルAPIを使用してボリューム全体を開くことができます(C#はWindowsの場合、機能がCreateFileの場合)。

ファイルシステムを最初にアンマウントする必要がありますが、他のプロセスが使用中にデータを変更しないようにする必要があります。また、ボリューム全体のチェックサムは、「最後にアクセスされた時間」フィールドが更新されるたびに変更されるため、有用ではありません。

+0

フラッシュドライブは読み取り専用で、決して変更されません。 – user1090205

関連する問題