1. /* 方法1 */
  2. QFile theFile(fileNamePath);
  3. theFile.open(QIODevice::ReadOnly);
  4. QByteArray ba = QCryptographicHash::hash(theFile.readAll(), QCryptographicHash::Md5);
  5. theFile.close();
  6. qDebug() << ba.toHex().constData();
  1. /* 方法2 */
  2. /*
  3. *   获取文件md5值
  4. */
  5. QByteArray MainWindow::getFileMd5(QString filePath)
  6. {
  7. QFile localFile(filePath);
  8. if (!localFile.open(QFile::ReadOnly))
  9. {
  10. qDebug() << "file open error.";
  11. return 0;
  12. }
  13. QCryptographicHash ch(QCryptographicHash::Md5);
  14. quint64 totalBytes = 0;
  15. quint64 bytesWritten = 0;
  16. quint64 bytesToWrite = 0;
  17. quint64 loadSize = 1024 * 4;
  18. QByteArray buf;
  19. totalBytes = localFile.size();
  20. bytesToWrite = totalBytes;
  21. while (1)
  22. {
  23. if(bytesToWrite > 0)
  24. {
  25. buf = localFile.read(qMin(bytesToWrite, loadSize));
  26. ch.addData(buf);
  27. bytesWritten += buf.length();
  28. bytesToWrite -= buf.length();
  29. buf.resize(0);
  30. }
  31. else
  32. {
  33. break;
  34. }
  35. if(bytesWritten == totalBytes)
  36. {
  37. break;
  38. }
  39. }
  40. localFile.close();
  41. QByteArray md5 = ch.result();
  42. return md5;
  43. }

http://blog.csdn.net/emdfans/article/details/23871741

QT 获取文件MD5值的更多相关文章

  1. JAVA中获取文件MD5值的四种方法

    JAVA中获取文件MD5值的四种方法其实都很类似,因为核心都是通过JAVA自带的MessageDigest类来实现.获取文件MD5值主要分为三个步骤,第一步获取文件的byte信息,第二步通过Messa ...

  2. C# 获取文件MD5值的方法

    可用于对比文件是否相同 /// <summary> /// 获取文件MD5值 /// </summary> /// <param name="fileName& ...

  3. 基于js-spark-md5前端js类库,快速获取文件Md5值

    js-spark-md5是歪果仁开发的东西,有点多,但是我们只要一个js文件即可,具体类包我存在自己的oschina上,下载地址:https://git.oschina.net/jianqingwan ...

  4. 获取文件MD5值(JS、JAVA)

    文章HTML代码翻译于地址:https://www.cnblogs.com/linyihai/p/7040786.html           文件MD5有啥用?                  文 ...

  5. JAVA中获取文件MD5值的方法

    1 DigestUtils.md5Hex(new FileInputStream(path)); 如果你只需要使用标准的MD5,其实一行代码就够了,JAVA自带的commons-codec包就提供了获 ...

  6. Mac上获取文件md5 值

    mac 上获取一个文件的md5值如下 在terminal 上输入下面命令行即可: 方法一: //备注 AccountPassword/check 是全路径 也可以相对路径,我这里是相对路径,用来测试用 ...

  7. js获取文件MD5值

    原文链接:http://www.jianshu.com/p/940a9226fbbd   要在web页面中计算文件的md5值,还好这个项目是只需兼容现代浏览器的,不然要坑死了. 其实对文件进行md5, ...

  8. ios获取文件MD5值

    一般我们在使用http或者socket上传或者下载文件的时候,经常会在完成之后经行一次MD5值得校验(尤其是在断点续传的时候用的更 多),校验MD5值是为了防止在传输的过程当中丢包或者数据包被篡改,在 ...

  9. 获取文件Md5值

    private static string GetFileMD5(string filePath) { string _md5Value = string.Empty; try { if (Syste ...

随机推荐

  1. Python下载Bing主页图片

    直接上代码: # -*- coding: cp936 -*- import urllib import os print 'Download data......' url = 'http://cn. ...

  2. Ext.Net 使用总结之GridPanel的删除事件

    1.关于Ext.net中GridPanel的删除事件 首先是GridPanel,如下: <ext:GridPanel ID="GridPanel1" runat=" ...

  3. hbase 单机安装问题

    报zookeeper exception not found I fixed this by editing the file "/usr/local/hbase-0.94.1/conf/h ...

  4. ASP.Net中使用Report Service

    昨天研究以下Report Service,发现SQL Service自带的报表服务器也非常强大, 一,报表在不同的应用中表现形式 参考:http://www.cnitblog.com/yide/arc ...

  5. ##DAY13——可视化编程之XIB

    ##DAY13——可视化编程之XIB 1.关联控件 2.关联事件 3.关联手势 4.关联代理 这个时候即使不给控制器用下面方法添加代理,代理方法也是可以使用的,只是没有方法提示: 其他重要地方: #i ...

  6. mysql save or update

    原文:http://www.bitscn.com/pdb/mysql/201503/473268.html 背景   在平常的开发中,经常碰到这种更新数据的场景:先判断某一数据在库表中是否存在,存在则 ...

  7. Labview学习之波形图表的历史数据

    Labview学习之波形图表的历史数据 默认的情况下,波形图表显示100个点, 因为波形图表默认的缓冲区大小为1024,在默认的情况下如果修改图形图标属性中的标尺项,选中自动调整标尺,如图:2011- ...

  8. 亲测的一款在线作图神器:ProcessOn

    本人近日发现一款作图神器:ProcessOn 它是一款在线的作图工具,完全国产,前台是用HTML5  Canvas加javascript做绘图,后台用java实现数据处理和图片生成, 整站UI基本类似 ...

  9. MySQL 数据显示宽度

    例子: 把int 的显示宽度设置为 3 create table t(x int(3) zerofill); insert into t(x) values(1); select x from t; ...

  10. JWPlayer 初探

    http://www.360doc.com/content/13/0103/22/21412_258041878.shtml JWPlayer 是一款比较实用的web flash 播放器