使用System.Security.Cryptography.MD5非常简单:
using (var md5 = MD5.Create()){ using (var stream = File.OpenRead(filename)) { return md5.ComputeHash(stream); }}
(我相信 实际上 不需要处置使用的MD5实现,但是无论如何我还是会这样做。)
之后如何比较结果由您决定;您可以将字节数组转换为例如base64,或直接比较字节。(请注意,数组不会覆盖
Equals。使用base64更容易解决问题,但如果您只对比较哈希值感兴趣,则使用效率稍低。)
如果您需要将散列表示为字符串,则可以使用
BitConverter以下命令将其转换为十六进制:
static string CalculateMD5(string filename){ using (var md5 = MD5.Create()) { using (var stream = File.OpenRead(filename)) { var hash = md5.ComputeHash(stream); return BitConverter.ToString(hash).Replace("-", "").ToLowerInvariant(); } }}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)