これはかなり複雑かもしれませんが、このアイデアについて意見を求めているだけです。特定のファイルをデータベースに保存することを計画していますが、どうすればより安全にできるかを考えていました。したがって、それをバイトに変換し、ハッシュアルゴリズムを実行してから、データベースに保存することを考えています。しかし、これに関する私の問題は、よくわかりません。これが正しい方法であるかどうかもわかりません。それらのファイルを元のフェーズに戻すことはできますか? 誰かが助けてくれることを願っています。ありがとう!
2 に答える
2
ファイルを確実にハッシュして、ハッシュ値を保存できます。
HashAlgorithm.ComputeHash を見てください。
http://msdn.microsoft.com/en-us/library/xa627k19.aspx
MSDN の例は要点を理解していますが、欠陥があります。
FileStream fileStream = fInfo.Open(FileMode.Open);
// Be sure it's positioned to the beginning of the stream.
fileStream.Position = 0;
// Compute the hash of the fileStream.
hashValue = myRIPEMD160.ComputeHash(fileStream);
FileStream
そのようなものは必ず廃棄してくださいIDisposable
。
アップデート
明確にするために...ハッシュは、ハッシュが作成されてからファイルが変更/改ざんされていないことを検証するのに役立ちます。
ファイル自体を保存する必要があります。ハッシュからファイルを再作成することはできません。
于 2013-02-05T03:31:18.350 に答える
1
より安全にする (つまり、暗号化する) ために暗号化ハッシュを実行することについて話している場合、それに関する問題は、それが回復できないことです。
ファイルを暗号化したい場合は、AES (単純で安全でない双方向の「難読化」 for C# )の使用を検討します。
ここで、後で比較する目的でファイルのハッシュ チェック値 (または MD5 チェックサム) を作成している場合、Eric の投稿によると、これは完全に受け入れられ、実行可能です。
于 2013-02-05T03:35:37.760 に答える