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. 前端新人学习笔记-------html/css/js基础知识点(二)

    4月7日学到的知识点:     一:<img src="1.png" alt="美女"/> alt是给图片添加介绍,当图片没加载出来时,会直接显示a ...

  2. EF简介

    EF:EF是 asp.net的一套ORM框架. ORM: 广义上:ORM指的是面向对象的模型和关系型数据库的数据库之间的相互转换; 狭义上:ORM可以被认为是,基于关系型数据库的数据存储,实现一个虚拟 ...

  3. android入门——UI(6)——ViewPager+Menu+PopupWindow

    一.使用ViewPager开发新特性引导界面 <?xml version="1.0" encoding="utf-8"?> <Relative ...

  4. Spark源码学习2

    转自:http://www.cnblogs.com/hseagle/p/3673123.html 在源码阅读时,需要重点把握以下两大主线. 静态view 即 RDD, transformation a ...

  5. AOP 切面编程

    简介 如果你很熟悉面向方面编程(AOP),你就会知道给代码增加“切面”可以使代码更清晰并且具有可维护性.但是AOP通常都依赖于第三方类库或者硬编码的.net特性来工作.虽然这些实现方式的好处大于它们的 ...

  6. js浮点数精度问题

    大多数语言在处理浮点数的时候都会遇到精度问题,但是在JS里似乎特别严重,来看一个例子 alert(45.6*13); 结果居然是592.800000000001,当然加法之类的也会有这个问题 那这是j ...

  7. php study plan personal

    Php study schedule personal: 1. php intro + upper : imooc2. video course: php100, houdunwang (togeth ...

  8. 找出n个数中出现了奇数次的两个数

    如果是找只出现了奇数次的一个数, 那么我们从头异或一遍就可以. 那么如何找出现了奇数次的两个数呢? 首先我们还是从头异或一遍, 然后结果肯定不为0, 对于异或出来的结果, 如果这个数的某一位是1, 说 ...

  9. 【转】Centos 设置IP地址的几种方式

    对于很多刚刚接触linux的朋友来说,如何设置linux系统的IP地址,作为第一步,下面小编以centos系统为例,给大家演示如何给centos设置IP地址,如何修改linux 系统IP地址? 查看I ...

  10. MVC进阶之路:依赖注入(Di)和Ninject

    MVC进阶之路:依赖注入(Di)和Ninject 0X1 什么是依赖注入 依赖注入(Dependency Injection),是这样一个过程:某客户类只依赖于服务类的一个接口,而不依赖于具体服务类, ...