使用QCryptographicHash对文件进行MD5计算。用来检测文件是否改变
来源:互联网 发布:用友代理记账软件 编辑:程序博客网 时间:2024/06/05 15:41
占个坑,有空写。先把代码传上来。
#include "c4hashcrypt.h"#include <QFile>#include <QTextCodec>#include <QTextStream>#include <QCryptographicHash>#include <QDebug>/*********************************************************** * 遍历大文件16g大概2分多,如果是零碎文件5g大概6分钟 * ********************************************************/C4HashCrypt::C4HashCrypt(QObject *parent) : QObject(parent){}bool C4HashCrypt::md5Files(QStringList fileList, QString hashFile){ QFile hM5file(hashFile); QString lastest("Desktop/"); if(hM5file.open(QFile::Truncate|QFile::WriteOnly|QFile::Text)) { foreach (QString file, fileList) { QByteArray bb = md5file(file); bb.append(" [file]= "); file =file.right(file.size()-file.lastIndexOf(lastest));//去掉指定文件路径~ file = file.right(file.size()-QString(lastest).size()); bb.append(file); bb.append('\n'); hM5file.write(bb); } hM5file.close(); return true; } else { qDebug()<<"openHM5file False"; return false; }}QByteArray C4HashCrypt::md5file(QString fileName){ QByteArray md5C = Q_NULLPTR; QFile file(fileName); // QTextCodec *code = QTextCodec::codecForName("utf8"); if(file.exists()) { if(file.open(QFile::ReadOnly)) {#if 0 QTextStream stream(&file);//如果用这种方法则会导致加密rar文件报错。 stream.setCodec(code); QString data; data = stream.readAll(); md5C = QCryptographicHash::hash(data.toLatin1(),\ QCryptographicHash::Md5).toHex();//必须有.toHex();#else QCryptographicHash hash(QCryptographicHash::Md5); hash.addData(&file); md5C = hash.result().toHex();#endif file.close(); }else { qDebug()<<"open file False"; } }else { qDebug()<<"file is not exit"; } return md5C;}
0 0
- 使用QCryptographicHash对文件进行MD5计算。用来检测文件是否改变
- MD5全称Message-Digest-Algorithm-5,MD5计算工具用来检验文件是否修改过
- MD5全称Message-Digest-Algorithm-5,MD5计算工具用来检验文件是否修改过
- Java使用MD5对文件进行签名
- 使用文件Md5值检测文件完整性
- 检测tensorflow是否使用gpu进行计算
- 对文件内容进行MD5加密认证
- 用MD5对文件进行加解密
- MD5 方式加密文件,判断文件是否被修改的依据:MD5值是否改变
- vs2010对源文件进行md5计算的错误,源文件与模块生成时的文件不同
- java计算文件MD5值,比较两文件是否相同
- java使用计算md5校验码方式比较两个文件是否相同
- 计算文件MD5
- 计算文件的MD5
- 文件MD5值计算
- 计算文件的md5
- 计算文件MD5
- Linux下对文件进行md5校验命令
- Linux磁盘分区与格式化
- ant - java 构建工具
- 线性表的存储结构————链表
- 每天2分钟,10个简单方法改变你的生活
- BSP 概念解析
- 使用QCryptographicHash对文件进行MD5计算。用来检测文件是否改变
- 【POJ】1276 Cash Machine(多重背包)
- JAVA 输入输出流
- Xen虚拟机迁移
- Java读取word文件的程序演示
- iOS开发中表视图搜索栏实现中的Objective-C深浅拷贝问题
- 不使用vector<bool>的原因和替代方法
- 闪电的实现
- Linux安装Libvirt函数