【发布时间】:2009-03-08 02:17:15
【问题描述】:
- 如何使用 C# 对文件进行哈希处理
- 有什么可用的? (md5、crc、sha1 等)
- 是否有我应该继承的接口?
我想校验多个文件并将其存储在数据库中,同时使用我自己的两个校验和/哈希。
【问题讨论】:
我想校验多个文件并将其存储在数据库中,同时使用我自己的两个校验和/哈希。
【问题讨论】:
1.) 我如何使用 C# 对文件进行哈希处理?
您可以在 System.Security.Cryptography
下使用 .NET 类2.) 有什么可用的?
3.) 是否有我应该继承的接口?
不,您不必这样做。 看看HashAlgorithm.Create(...)
【讨论】:
片段
byte[] result;
SHA1 sha = new SHA1CryptoServiceProvider();
using(FileStream fs = File.OpenRead(@"file.txt"))
{
result = sha.ComputeHash(fs);
}
另请参阅 SHA1CryptoServiceProvider 或 MD5CryptoServiceProvider。
CRC 不可用 - 创建自己的更有效。
【讨论】:
你想用哈希实现什么?如果您试图真正保证没有人恶意更改文件,请不要实现您自己的校验和或哈希。您可能会犯一些错误,有人将能够篡改文件并且校验和仍然匹配。使用良好的哈希函数,如 SHA-256。
【讨论】: