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. WebConfig特殊字符的转义!

    Web.Config默认编码格式为UTF-8,对于XML文件,要用到实体转义码来替换.对应关系如下: 字符 转义码 & 符号 & & 单引号 ' &apos; 双引号 ...

  2. css Tab选项卡

    css tab 选项卡据说有2中实现方式 1. target css3 2. 描点 2的 核心原理是利用描点显示问题(描点父级 overflow). <style> body,div,ul ...

  3. IOS7 position:fixed 定位问题

    在IOS7下position:fixed定位会出一些bug. 输入框 focus 状态下 fixed会随之改变.参见该页面详细描述(http://www.cnblogs.com/zhangdaipin ...

  4. BroadcastReceiver自学笔记

    1. 使用步骤:  1.1 声明Intent Intent intent = new Intent("name");------静态常用 IntentFilter filter = ...

  5. JDK源码学习--String篇(二) 关于String采用final修饰的思考

    JDK源码学习String篇中,有一处错误,String类用final[不能被改变的]修饰,而我却写成静态的,感谢CTO-淼淼的指正. 风一样的码农提出的String为何采用final的设计,阅读JD ...

  6. 根据用户的ID查用户的名字

    awk -F: '{if($3==0){print $1}}'  /etc/passwd

  7. IM,游戏服务端 tcp 框架整理

    Mina: Mina(Multipurpose Infrastructure for Network Applications) 是 Apache 组织一个较新的项目,它为开发高性能和高可用性的网络应 ...

  8. 如何将mongodb bson文件转成json文件

    使用mongodb自带的命令 bsondump collection.bson > collection.json

  9. 树莓派高级GPIO库,wiringpi2 for python使用笔记(二)高精度计时、延时函数

    学过单片机的同学应该清楚,我们在编写传感器驱动时,需要用到高精度的定时器.延时等功能,wiringpi提供了一组函数来实现这些功能,这些函数分别是: micros() #返回当前的微秒数,这个数在调用 ...

  10. 逻辑(if)、关系、数字、条件运算符

    if语句 if-else if-else  if(a==0){1} else if (a>0){2}  else{3}  特点:1.2.3只有一个括号会被执行  陷阱  1.if(a!=0)  ...