QT 获取文件MD5值
- /* 方法1 */
- QFile theFile(fileNamePath);
- theFile.open(QIODevice::ReadOnly);
- QByteArray ba = QCryptographicHash::hash(theFile.readAll(), QCryptographicHash::Md5);
- theFile.close();
- qDebug() << ba.toHex().constData();
- /* 方法2 */
- /*
- * 获取文件md5值
- */
- QByteArray MainWindow::getFileMd5(QString filePath)
- {
- QFile localFile(filePath);
- if (!localFile.open(QFile::ReadOnly))
- {
- qDebug() << "file open error.";
- return 0;
- }
- QCryptographicHash ch(QCryptographicHash::Md5);
- quint64 totalBytes = 0;
- quint64 bytesWritten = 0;
- quint64 bytesToWrite = 0;
- quint64 loadSize = 1024 * 4;
- QByteArray buf;
- totalBytes = localFile.size();
- bytesToWrite = totalBytes;
- while (1)
- {
- if(bytesToWrite > 0)
- {
- buf = localFile.read(qMin(bytesToWrite, loadSize));
- ch.addData(buf);
- bytesWritten += buf.length();
- bytesToWrite -= buf.length();
- buf.resize(0);
- }
- else
- {
- break;
- }
- if(bytesWritten == totalBytes)
- {
- break;
- }
- }
- localFile.close();
- QByteArray md5 = ch.result();
- return md5;
- }
http://blog.csdn.net/emdfans/article/details/23871741
QT 获取文件MD5值的更多相关文章
- JAVA中获取文件MD5值的四种方法
JAVA中获取文件MD5值的四种方法其实都很类似,因为核心都是通过JAVA自带的MessageDigest类来实现.获取文件MD5值主要分为三个步骤,第一步获取文件的byte信息,第二步通过Messa ...
- C# 获取文件MD5值的方法
可用于对比文件是否相同 /// <summary> /// 获取文件MD5值 /// </summary> /// <param name="fileName& ...
- 基于js-spark-md5前端js类库,快速获取文件Md5值
js-spark-md5是歪果仁开发的东西,有点多,但是我们只要一个js文件即可,具体类包我存在自己的oschina上,下载地址:https://git.oschina.net/jianqingwan ...
- 获取文件MD5值(JS、JAVA)
文章HTML代码翻译于地址:https://www.cnblogs.com/linyihai/p/7040786.html 文件MD5有啥用? 文 ...
- JAVA中获取文件MD5值的方法
1 DigestUtils.md5Hex(new FileInputStream(path)); 如果你只需要使用标准的MD5,其实一行代码就够了,JAVA自带的commons-codec包就提供了获 ...
- Mac上获取文件md5 值
mac 上获取一个文件的md5值如下 在terminal 上输入下面命令行即可: 方法一: //备注 AccountPassword/check 是全路径 也可以相对路径,我这里是相对路径,用来测试用 ...
- js获取文件MD5值
原文链接:http://www.jianshu.com/p/940a9226fbbd 要在web页面中计算文件的md5值,还好这个项目是只需兼容现代浏览器的,不然要坑死了. 其实对文件进行md5, ...
- ios获取文件MD5值
一般我们在使用http或者socket上传或者下载文件的时候,经常会在完成之后经行一次MD5值得校验(尤其是在断点续传的时候用的更 多),校验MD5值是为了防止在传输的过程当中丢包或者数据包被篡改,在 ...
- 获取文件Md5值
private static string GetFileMD5(string filePath) { string _md5Value = string.Empty; try { if (Syste ...
随机推荐
- 全球最快的JS模板引擎
废话不多说,先上测试: 亲测请访问:[在线测试地址]单次结果不一定准确,请多测几次. tppl 的编译渲染速度是著名的 jQuery 作者 John Resig 开发的 tmpl 的 43 倍!与第二 ...
- Ubuntu - Dconf 注册表键值修改参考表
gsettings reset org.gnome.desktop.wm.preferences theme默认gnomegsettings set org.gnome.desktop.interfa ...
- UITextField 光标的位置设置获取
UITextField 光标的位置设置获取 通过给UITextField 加一个拓展 //#import "UITextField+ExtentRange.h" #import & ...
- poj2311
博弈论——sg,mex sg性质:1.在末态的状态点为N态. 2.P态的下一步有一个是N态 3.N态的下一步全部是P态. 当然这是对于单点一个游戏的情形,也相当于NIM只有一堆石子. mex(mini ...
- [非技术参考]C# Socket网络编程
我们在讲解Socket编程前,先看几个和Socket编程紧密相关的概念: 1. TCP/IP层次模型 当然这里我们只讨论重要的四层 01,应用层(Application):应用层是个很广泛的概念,有一 ...
- R包——ggplot2(一)
关于ggplot2包(一) 关于ggplot2包(一) ggplot2基本要素 数据(Data)和映射(Mapping) 几何对象(Geometric) 标尺(Scale) 统计变换(Statisti ...
- 风行一时瀑布流网页布局,实现无限加载(jquery)
今天跟大家分享一个瀑布流网页布局,先跟大家分析下实现的思路吧 主要思路:一.根据屏幕宽度和单个浮动层的宽度来确定浮动层列数 var $boxs = $("#main>div" ...
- ThinkPHP第二十五天(自动完成、用户名密码PHP正则、移位或加密函数)
1.ThinkPHP自动完成功能 跟昨天的自动验证功能类似,也是需要在自定义的UserModel类,进行使用. 使用方法:定义$_auto属性 $_auto = array( array(完成字段,完 ...
- yii2.0 控制器方法 视图表单 Form表单处理
假设我们在ArticleController.php下面的actionForm方法中来处理提交的表单 新建立一个 views/Article/article-form.php文件用来作为输入表单 &l ...
- 如何取消一个本地svn目录与svn的联系(即恢复原有图标等)
在使用svn 的时候容易手抖错选update地址,使其目录所有同级文件夹上出现蓝色“?”图样,非常烦人,下面记录一下解决方案. 首先在该目录下打开同级文件件,工具→文件夹选项→查看→隐藏文件和文件夹→ ...