码迷,mamicode.com
首页 > 其他好文 > 详细

QT 获取文件MD5值

时间:2016-06-20 07:00:40      阅读:618      评论:0      收藏:0      [点我收藏+]

标签:

[cpp] view plain copy
 
 技术分享技术分享
  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();  

 

 

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

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

QT 获取文件MD5值

标签:

原文地址:http://www.cnblogs.com/findumars/p/5599439.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!