为了账号安全,请及时绑定邮箱和手机立即绑定

计算文件的MD5校验和

计算文件的MD5校验和

跃然一笑 2019-07-10 09:50:55
计算文件的MD5校验和我在用iTextSharp从PDF文件中读取文本。但是,有时我无法提取文本,因为PDF文件只包含图像。我每天下载相同的PDF文件,我想看看PDF是否已经修改。如果无法获得文本和修改日期,则为MD5校验和是判断文件是否已更改的最可靠的方法?如果是的话,一些代码示例将是非常感谢的,因为我对密码学没有太多的经验。
查看完整描述

3 回答

?
潇湘沐

TA贡献1816条经验 获得超6个赞

我知道这个问题已经回答了,但我用的是:

using (FileStream fStream = File.OpenRead(filename)) {
    return GetHash<MD5>(fStream)}

哪里盖塔什:

public static String GetHash<T>(Stream stream) where T : HashAlgorithm {
    StringBuilder sb = new StringBuilder();

    MethodInfo create = typeof(T).GetMethod("Create", new Type[] {});
    using (T crypt = (T) create.Invoke(null, null)) {
        byte[] hashBytes = crypt.ComputeHash(stream);
        foreach (byte bt in hashBytes) {
            sb.Append(bt.ToString("x2"));
        }
    }
    return sb.ToString();}

也许不是最好的方法,但也很方便。


查看完整回答
反对 回复 2019-07-10
  • 3 回答
  • 0 关注
  • 491 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信